1. 程式人生 > >08 python 初學(字典)

08 python 初學(字典)

字典是 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}