主要内容:
1 . 列表
列表[]可以存放不同的数据类型
列表的索引和切片
lst=["大秧歌","赵明杰","赛利亚","克伦特","梅西","哈登"] print(lst[3]) print(lst[1:3]) print(lst[-1::-2]) #-2 - 从右往左. 2 : 每两个取一个
克伦特 ['赵明杰', '赛利亚'] ['哈登', '克伦特', '赵明杰']
列表是可以发生改变的,字符串不可以
li = ["alex", "eric", "rain"] li[2]="sylar" print(li) ####结果是['alex', 'eric', 'sylar']
字符串不可以改变
s="周杰伦" s[0]="lin" print(s) ###错误提示:字符串不可以改变
2 . 列表的增删改查
添加:
ist.append(obj) 在列表末尾添加新的对象
list=["周杰伦","王力宏","周润发"] list.append("周星驰") print(list) ####结果是['周杰伦', '王力宏', '周润发', '周星驰']
应用:把名字添加到列表中
li=[] while True: name=input("请用户输入名字") if name.upper()=="Q": break else: li.append(name) print(li)
list.insert(index,obj) 将对象插入列表,可以插入到指定位置
list=["周杰伦","王力宏","周润发"] list.insert(1,"林俊杰") print(list) ###结果是['周杰伦', '林俊杰', '王力宏', '周润发']
list.extend(seq)在列表末尾一次性追加另一个序列的多个值(迭代添加)
list=["周杰伦","王力宏","周润发"] list.extend(["马云","王健林"]) print(list) ###结果是['周杰伦', '王力宏', '周润发', '马云', '王健林']
结果是 ['周杰伦', '王力宏', '周润发', '马', '云']
list=["周杰伦","王力宏","周润发"] list.extend("马云") print(list)
删除:
list.pop() 删除最后一个元素,也可指定要删除的元素
li=["赵薇","林心如","舒淇","倪妮"] li.pop() #默认删除最后一个元素 print(li) li.pop(2) #指定删除指定的元素 print(li)
list.remove() 删除指定元素
li=["赵薇","林心如","舒淇","倪妮"] li.remove("倪妮") print(li) ###倪妮被删除
list.clear() 清空
li=["赵薇","林心如","舒淇","倪妮"] li.clear() print(li) ###直接被清空[]
del 切片删除
lst = ["麻花藤", "王剑林", "李嘉诚", "王富贵"]
del lst[1:3]
print(lst)
修改:
索引修改
list=["太白","无色","隐王","日天"] list[0]="太黑" print(list)
切片修改
list=["太白","无色","隐王","日天"] list[1:3]="马化腾" #迭代修改 print(list) list[1:3]=["周杰伦","昆凌"] print(list)
['太白', '马', '化', '腾', '日天'] ['太白', '周杰伦', '昆凌', '腾', '日天']
查询:
列表是一个可迭代对象,所以可以进行for循环
lst=["舒克贝塔","黑猫警长","葫芦娃"] for el in lst: print(el)
舒克贝塔
黑猫警长
葫芦娃
其他操作:
计算出现的次数:
lst=["王尼玛","我记着你","威哥","王尼玛","王尼玛"] print(lst.count("王尼玛")) ###3
排序:升序和降序
list=[1,4,7,3,7,9] list.sort() print(list) list.sort(reverse=True) print(list)
反向列表中的元素lst.reverse
list=["台标","太黑","太阿"] list.reverse() print(list)
列表的长度
lst=["王尼玛","我记着你","威哥","王尼玛","王尼玛"] print(len(lst)) ###5
3.列表的嵌套
采用降维操作。一层一层的看就好
首字母大写
lst=[1,"太白","wusir",["马化腾",["可口可乐"],"王健林"]] lst[2]=lst[2].capitalize()
rint(lst
取代
lst=[1,"太白","wusir",["马化腾",["可口可乐"],"王健林"]] lst[1]=lst[1].replace("太白","太黑") print(lst)
添加
lst=[1,"太白","wusir",["马化腾",["可口可乐"],"王健林"]] lst[3][1].append("芬达") print(lst)
4.元祖和元祖的嵌套
俗称不可变的列表.又被成为只读列表, 用小括号括起来,
里面可以放任何数据类型的数据,查询可以.循环也可以.切片也可以. 但是不可以改。
tu=("DNF","lOL","CF","斗地主","消消乐") print(tu[2:]) ###("CF","斗地主","消消乐")切片之后还是元祖
for循还遍历元祖
tu=("DNF","lOL","CF","斗地主","消消乐") for el in tu: print(el)
tu=("DNF","lOL","CF","斗地主","消消乐","消消乐") print(tu.count("消消乐")) print(tu.index("斗地主")) print(len(tu))
5.range
range可以帮我们获取到一组数据. 通过for循环能够获取到这些数据.
for s in range(10, 1, -2): # 反着来, 和切片一样
print(s) #输出结果是(10 8 6 4 2 )