08 python 初學(字典)
阿新 • • 發佈:2018-12-20
字典是 python 中唯一的對映型別 。採用鍵值對(key-value)的形式儲存資料。
python 對 key 進行雜湊函式運算,根據計算的結果決定 value 的儲存地址,所以字典時無需儲存的,且 key 必須是可雜湊的。可雜湊表示 key 必須是不可變型別,如:數字、字串、元組。
字典是除列表之外 python 之中最靈活的內建資料結構型別。列表是有序的物件集合,字典是無序的物件集合。兩者之間的區別在於:字典當中的元素是通過鍵來存取的,而不是通過偏移存取
字典兩大特點:無序,鍵唯一
宣告:
dic1 = {'name': 'lily', 'age': '18'}
# 第二種建立方式
dic2 = dict((('name','lily),))
輸出記憶體地址:id()函式
a = 10 print(id(a)) b = a print(id(b)) b = 15 print(id(b)) 輸出: 140716292682864 140716292682864 140716292683024
不可變型別:整型、字串、元組
可變型別:列表、字典
字典的操作:
增:
dic1 = {'name': 'lily'} dic1['age'] = 18 print(dic1) >>>{'name': 'lily', 'age': 18}
dic1.setdefault('age', 34) # 如果這個鍵有,不做任何變動;如果沒有新增進去 print(dic1) >>>{'name': 'lily', 'age': 18}
查:
print(dic1['name']) # 查,通過鍵去尋找 print(dic1.keys()) # 拿出所有的鍵 print(dic1.values()) # 拿出所有的值 print(dic1.items()) # 拿出所有的鍵值對 # 輸出: lily dict_keys(['name', 'age']) dict_values(['lily', 18]) dict_items([('name', 'lily'), ('age', 18)])
改:
dic1['name'] = 'mylily' # 通過鍵去改變值 print(dic1) dic2 = {1: 111, 2: 222} dic1.update(dic2) # 把dic2中的內容加入dic1,如果有相同的鍵,會對值做一個更新 print(dic1) print(dic2) # output: {'name': 'mylily', 'age': 18} {'name': 'mylily', 'age': 18, 1: 111, 2: 222} {1: 111, 2: 222}