python中列表、字符串、字典的常用操作

时间:2023-01-04 00:09:00

列表操作如此下:

a = ["haha","xixi","baba"]
增:a.append[gg]
a.insert[1,gg] 在下标为1的地方,新增 gg
删:a.remove(haha)删除列表中从左往右,第一个匹配到的 haha
del a.[0] 删除下标为0 对应的值
a.pop(0) 括号里不写内容,默认删除最后一个,写了,就删除对应下标的内容
改:a.[0] = "gg"
查:a[0]
a.index("haha") 显示从左往右,第一个匹配到的 haha 下标
a.count("haha") 显示 haha 在列表里一共多少个
a.clear() 清空列表 a
快速遍历列表内容,并去下标,一起打印。
enumerate(a)是将列表每个下标、下标内容取出来,放到一个数组里,所以可以用for循环去遍历。
a = ["haha","xixi","baba"]
for index,data in enumerate(a):print(index,":",data)
结果:
0 : haha
1 : xixi
2 : baba
重点说明:
a.copy() 浅copy,比如a = ["haha","xixi",["yan","liu"],"baba"]
b = a.copy()
修改a外面的内容,b不会随着更改!
修改a里面的列表内容 ["yan","liu"],b会随着更改~~
原因:其实a列表里面的列表 ["yan","liu"] 是在内存中单独存在,a只是将这个内存指针写到这了,["yan","liu"]它是个独立的。
简单用途:创建共同帐号,即外层独立,内层列表共享。
import copy
b = copy.deepcopy(a) 深层、完全copy,b完全独立。 但少用。因为会开辟一个独立的内存空间。如果a列表很大,这样会很消耗内存。

 

字符串操作:

name = "名字是{name},年龄是{age}"
print(name.capitalize()) #首字母大写
print(name.center(50,"-")) #左右加25个“-”
print(name.endswith("an")) #判断是不是以“an”结尾
print(name.find("a")) #从左往右开始找到的第一个“a”的下标
print(name.format(name="yan",age="24")) #将字符串{}里面的内容转意

 

字典操作:

字典获取值的方法:
a = {"yan":123,"liu":456}
print(a["yan"]) #方法1,如果key不存在,会报错
print(a.get("yanada")) #方法2,如果ket不存在,返回None

a.keys() #获取key
a.values() #获取value

*** serdefault用法:
a.setdefault("yan",789)
print(a)
{'liu': 456, 'yan': 123}
a.setdefault("wang",789)
print(a)
{'yan': 123, 'liu': 456, 'wang': 789}
先到字典找这个key值,找到了,就返回其对应的value 没找到就证明没有,则新增一个这个key值,并赋值value 这样就可以在新增字典内容的时候,起到一个避免key值相同,新增不成功,反而将原来的key对应的value该掉了

*** update用法:
a = {"yan":123,"liu":456}
b = {"yan":666,"haha":888}
a.update(b)
print(a)
{'yan': 666, 'haha': 888, 'liu': 456}
将b做为参数,传给update函数,与a合并,如果key值相同,则以b为准,a的要被更新掉

items用法:
将字典变为列表,其中列表内容---key和value组成一个元组,key下标为0,value下标为1