python中列表、字串、字典的常用操作,python字串
列表操作如此下:
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