2022-09-26 組合數據類型: 列表 字典 集合 元組 拷貝: deep(深拷貝) shallow(淺拷貝) 區別:例如,文件中有一個指針指向另一塊存儲空間,如果是深拷貝則將指向的那一塊文件內容也全部拷貝,如果是淺拷貝那麼不需要將指針指向的內容進行拷貝,只拷貝第一層級的內容。指針指向的內容屬於 ...
2022-09-26
組合數據類型:
列表
字典
集合
元組
拷貝:
deep(深拷貝)
shallow(淺拷貝)
區別:例如,文件中有一個指針指向另一塊存儲空間,如果是深拷貝則將指向的那一塊文件內容也全部拷貝,如果是淺拷貝那麼不需要將指針指向的內容進行拷貝,只拷貝第一層級的內容。指針指向的內容屬於第二層級。
列表的查找與排序:
(1)查找
list.index(key )#其中key為列表中的值
# 查找 list1 = ['s','l','m','i'] try: print(list1.index('i')) # 查詢的是key except Exception as e: print(e)
(2)排序:
list.sort() #存放的結果仍然在list中,之後列印它
'''排序''' list1 = ['s','l','m','i'] list1.sort() print(list1) help(list.sort) #參看列表排序函數的說明 # 不能直接列印"print(list1.sort())" # 使用help查詢,切記不能使用小括弧,查詢結果為穩定排序
(3)排序:
sorted(list)
'''列表排序''' list1 = ['s','l','m','i'] print(sorted(list1))
(4)反轉
list1 = ['s','l','m','i'] '''反轉''' list1.reverse() print(list1)
元組(tuple):
說明:
元組的值是不可以修改的,表現在元組的刪除。如果要刪除,則是將整個元組都刪除.
元組是寫在()內的。
元組的創建:
tuple() # 空的元組
非空的元組;
使用(),裡面放入數據,中間使用逗號隔開。
t = tuple('string') print(t) # 註意,元組裡面如果要傳入字元串類型,則只能傳一個字元串整體,不能傳多個字元串。否則會報錯
'''元組的創建——方式二''' t = (1,2,3) print(t)
元組的訪問:
可以通過索引訪問,也可以直接訪問元組變數。
'''元組的訪問''' t = tuple("1,2,3") # 啊啊啊,簡直了,元組內部傳入的值,必須加上"",要不然會報錯 print(t[0]) print(t)
元組的刪除:
使用del
del t print(t)
t是指上面創建的t。
字典(dict):
說明:
字典是以鍵值對形式表現的集合,外面是一個{},字典無序、可變,列表有序,元組有序、不可變。
but 字典中有索引,是數據本身自帶的。
字典的創建:
使用{},中間放置”key“,"value",例如:
'''字典的創建——方式一''' dict1 = {'k':25,'m':6,'a':29} print(dict1)
'''字典的創建——方式二''' dict2 = dict({'l':'10','o':'20'}) print(dict2)
字典的訪問:
'''字典的訪問''' for key,value in dict1.items(): print(key) print(value) # 在for迴圈中,註意要輸出的是臨時變數,而不是下麵的,如果要用到下麵的語句,要單獨輸出 print(dict1.values()) print(dict1.keys())
# 調用item()函數時,返回的是一個列表中包含的元組對象。為可迭代對象 for item in dict1.items(): print(item)
字典的添加與修改:
"""字典的添加與修改""" dict1['p'] = 52 print(dict1) dict1['k'] = 26 print(dict1)
添加一組數據,如果該字典中有對應的key,那麼此時的添加為修改,會覆蓋掉原來元素的value值;如果沒有對應的key,那麼為字典的添加。
字典的刪除:
'''刪除字典元素''' """方式一""" # del dict1['k'] # print(dict1) """方式二——指定刪除""" # dict1.pop('k') # print(dict1) """方式三——隨機刪除""" # dict1.popitem() # print(dict1) """方式四——全部刪除""" # del dict1 # print(dict1)
使用相應的函數時,將前面的註釋去掉即可。
字典的排序:
# 按照key的值進行排序 # print(sorted(dict1.items(),key=lambda x:x[0])) # 按照value的值進行排序,如果是數字,預設是從小到大排序,如果是非數字,則按照ASCII碼進行排序 # print(sorted(dict1.items(),key=lambda x:x[1])) # for i in sorted(dict1.items(),key=lambda x:x[1]): # print(i)