——列表:(中括号括起来;逗号分隔每个元素;列表中的元素可以是数字,字符串,列表,布尔值等等)
(列表元素可以被修改) list(类) (有序的)
【1】索引取值;切片取值;for循环;while循环
1 li=[1,2,"zhouyuan",["zhoutao",666],True] 2 print(li[4]) #索引取值 3 print(li[0:3]) #切片取值
(运行结果)
1 li=[1,12,9,"age",["周圆",["19",10],"zhou"],"alex",True] 2 li[4][1][0] 3 #取字符串"19"
【2】列表元素的修改
1 li=[1,2,"age",["zhouyuan",666],false] 2 li[1]=888 3 print(li) 4 #运行结果:[1,888,"age",["zhouyuan",666],false]
1 切片修改 2 li=[1,2,3,4,50,60,7,8] 3 li[4:6]=[5,6] 4 print(li) 5 #运行结果:【1,2,3,4,5,6,7,8】
【3】列表元素的删除
1 li=[1,2,3] 2 del li[1] 3 print(li) 4 #运行结果:[1,3]
1 切片删除 2 li=[1,2,3,3,3,4,5,6] 3 del li[3:5] 4 print(li) 5 #运行结果: [1,2,3,4,5,6]
【4】字符串转换成列表
1 s="zhouyuan" 2 new_li=list(s) 3 print(new_li) 4 #运行结果:['z','h','o','u','y','u','a','n']
【5】列表转换成字符串(直接str的话会直接变成一个字符串里面是列表,通过for循环来实现列表内部元素拼接成字符串,如果列表里面都是字符串可以使用join来实现)
1 直接str转换: 2 li=[1,2,3] 3 r=str(li) 4 print(r) 5 #运行结果:[1,2,3] 6 使用for循环: 7 li=[1,2,3] 8 s="" 9 for i in li: 10 s=s+str(i) 11 print(s) 12 #运行结果:123 13 使用.join(): 14 li=['1','2','3'] 15 v="".join(li) 16 print(v) 17 #运行结果:123
——列表中的一些常用方法:(参数) (对象.方法... 列表对象调用方法)
【1】在列表尾部增加元素 append()
1 li=[11,22,33,44] 2 li.append(55) 3 li.append("zhouyuan") 4 print(li) 5 #运行结果:[11,22,33,44,55,"zhouyuan"]
【2】清空列表 clear()
1 li=[11,22,33,44] 2 li.clear() 3 print(li) 4 #运行结果:[]
【3】赋值,拷贝(浅拷贝) copy()
1 li=[11,22,33,44] 2 v=li.copy() #拷贝一份,就会存在一份新的,用v来接收新列表 3 print(v) 4 #运行结果: [11,22,33,44]
【4】计算元素出现的次数 count()
1 li=[11,22,33,44,22,22] 2 v=li.count(22) 3 print(v) 4 #运行结果:3
【5】在原列表后添加新列表,扩展原列表 extend() [相当于内部执行for循环把扩展的新列表元素一个个增加到原列表中]
1 li=[11,22,33,44] 2 li.extend([9999,"zy"]) 3 print(li) 4 #运行结果:[11,22,33,44,9999,"zy"] 5 li=[11,22,33,44] 6 li.extend("我真好看") 7 print(li) 8 #运行结果:[11,22,33,44,'我',‘真’,‘好’,‘看’] (执行了for循环)
【6】根据值找索引位置(最左优先) index()
1 li=[11,22,33,44] 2 v=li.index(22) 3 print(v) 4 #运行结果:1
【7】在指定索引位置插入元素 insert()
1 li=[11,22,33,44] 2 li.insert(0,00) #在第0个位置插入00 3 print(li) 4 #运行结果:[00,11,22,33,44]
【8】删除某个值,并可以获取当前值,默认为最后一个 pop()
1 li=[11,22,33,44] 2 v=li.pop() 3 print(v) 4 print(li) 5 #运行结果:44 6 # [11,22,33] 7 li=[11,22,33,44] 8 v=li.pop(3) 9 print(v) 10 print(li) 11 #运行结果:44 12 # [11,22,33]
【9】删除列表中的指定值,左边优先 remove()
1 li=[11,22,33,22,44] 2 li.remove(22) 3 print(li) 4 #运行结果:[11,33,22,44]
【10】将当前列表进行翻转 reverse()
1 li=[11,22,33,44] 2 li.reverse() 3 print(li) 4 #运行结果:[44,33,22,11]
【11】排序 sort()
1 li=[11,44,22,33,99] 2 li.sort() 3 print(li) 4 #运行结果:[11,22,33,44,99] 5 li.sort(reverse=True) 6 print(li) 7 #运行结果:[99,44,33,22,11]
——元组: (元素不可被修改,不能被增加或者删除,可以查看) tuple (有序的)
(用圆括号括起来,最后最好多加一个逗号来区别方法) (可以被for循环,可迭代对象)
【1】索引
1 tu=(11,"alex",("zy",666),[11,22,33,44],True,) 2 v=tu[0] 3 print(v) 4 #运行结果:11
【2】切片
1 tu=(11,22,33,44,) 2 v=tu[0:2] 3 print(v) 4 #运行结果:[11,22]
【3】字符串,列表,元组之间的转换
1 s="zhouyuan" 2 li=["zhou",9898] 3 tu=(123,321,"yuan") 4 #字符串转换成元组 5 v=tuple(s) #相当于执行了for循环 6 print(v) #运行结果:('z','h','o','u','y','u','a','n') 7 #列表转换成元组 8 u=tuple(li) 9 print(u) #运行结果:("zhou",9898) 10 #元组转换成列表 11 w=list(tu) 12 print(w) #运行结果:[123,321,"yuan"]
(对于元组也是可迭代对象,所以对于列表一些可迭代方法对于元组也适用)
——字典: (键值对,字典的value可以是任何值;字典的key不可以是列表,字典等可变的) #dict (花括号括起来,字典是无序)
【1】根据key来取value的值
1 info={"1":"a","2":"b","3":"c"} 2 v=info["2"] 3 print(v) 4 #运行结果:"b"
【2】删除某个键值对
1 info={"1":"a","2":"b","3":"c"} 2 del info["2"] 3 print(info) 4 #运行结果:{"1":"a","3":"c"}
【3】for循环(默认是key 进行for循环)
1 info={"1":"a","2":"b","3":"c"} 2 for item in info: 3 print(item) 4 #运行结果:"1" 5 # "2" 6 # "3" 7 for i in info.values(): 8 print(i) 9 #运行结果:"a" 10 # "b" 11 # "c" 12 for k,v in info.items(): 13 print(k,v) 14 #运行结果:"1":"a" 15 # "2":"b" 16 # "3":"c"
——字典常用的方法:
【1】根据序列创建字典,并指定统一的值 fromkeys()
1 v=dict.fromkeys(["1","2","3"],"周圆最美") 2 print(v)
(运行结果)
【2】删除字典的某个键值对 pop() popitem()[随机删除某个键值对]
1 dic={"1":"a","2":"b","3":"c"} 2 v=dic.pop("2") 3 print(dic,v)
(运行结果)
【3】设置值,如果已经存在获取当前key对应的值 setdefault()
1 dic={"k1":"v1","k2":"v2"} 2 v=dic.setdefault("k3":"v3") 3 print(dic,v)
1 dic={"k1":"a","k2":"b","k3":"c"} 2 dic.update({"k1":"a1","k4":"d"}) 3 print(dic) 4 dic.update(k1=a2,k5=e) #python会自动转换成字典 5 print(dic)
(运行结果)