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

dic={"k1":"a","k2":"b","k3":"c"}
dic.update({"k1":"a1","k4":"d"})
print(dic)
dic.update(k1=a2,k5=e) #python会自动转换成字典
print(dic)
(运行结果)