python—列表,元组,字典

时间:2022-02-10 04:45:24

——列表:(中括号括起来;逗号分隔每个元素;列表中的元素可以是数字,字符串,列表,布尔值等等)

(列表元素可以被修改)  list(类)    (有序的)

【1】索引取值;切片取值;for循环;while循环

 li=[1,2,"zhouyuan",["zhoutao",666],True]
print(li[4]) #索引取值
print(li[0:3]) #切片取值

python—列表,元组,字典(运行结果)

 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)

python—列表,元组,字典(运行结果)

【2】删除字典的某个键值对  pop()      popitem()[随机删除某个键值对]

 dic={"":"a","":"b","":"c"}
v=dic.pop("")
print(dic,v)

python—列表,元组,字典(运行结果)

【3】设置值,如果已经存在获取当前key对应的值   setdefault()

 dic={"k1":"v1","k2":"v2"}
v=dic.setdefault("k3":"v3")
print(dic,v)
python—列表,元组,字典(运行结果)
                【4】更新   update()
 dic={"k1":"a","k2":"b","k3":"c"}
dic.update({"k1":"a1","k4":"d"})
print(dic)
dic.update(k1=a2,k5=e) #python会自动转换成字典
print(dic)

python—列表,元组,字典(运行结果)