python 基礎之字典

2021-08-10 21:02:01 字數 1798 閱讀 9337

建立和使用字典

字典由多個鍵與其對應的值構成的對組成。

phonebook=
名字是鍵,**號碼是值。每個**號碼和值之間用冒號「:」隔開。每個項之間用「,」隔開。整個字典用的大括號括起來「{}」。

可以用dict函式,通過其他對映(比如其他字典)或者(鍵,值)這樣的序列對建立字典。

list=[("name","alice"),("age",21)]

d=dict(list)

print(d)

dict函式通過關鍵字引數來建立字典

d=dict(name="alice",age=21)

print(d)

clear

clear方法清除字典中所有的項。這是乙個原地操作,無返回值(也可以說返回值是none)。

d={}

d["name"]="alice"

d["age"]=21

print

(d)d.clear

()print

(d)returned_value=d.clear

()print

(returned_value)

copy

copy方法返回乙個具有相同鍵-值對的新字典(此方法實現的是淺拷貝(shallow copy))

x=

y=x.copy()

y["username"]="alice"

y["skill"].remove("fire")

print(y)

print("-"

*30)

print(x)

觀察結果可以看出,在副本中替換值的時候,原始字典並不受影響。但是,倘若修改某個值(原地修改,而非替換),那麼同樣的值也會儲存到原始地點中。這就是淺拷貝的特點。

解決辦法是使用深拷貝(deep copy)。

from copy

import deepcopy #匯入copy包中的deepcopy模組

x=y=x.copy()

dy=deepcopy(x)

y["username"]="alice"

y["skill"].remove("fire")

print(y)

print("-"

*30)

print(x)

print("-"

*30)

print(dy)

關於深拷貝於淺拷貝的區別日後再議。

get

get方法是乙個訪問字典項的方法。如果試圖訪問字典中不存在的項時會報錯但是用get就不會

d={}

print d["name"]

items和iteritems

keys和iterkeys

keys方法將字典中的鍵以列表形式返回,而iterkeys返回針對鍵的迭代器。

popitem

popitem類似於list.pop,後者會彈出列表的左後乙個元素。但是popitem彈出的是隨機的項,原因是字典沒有順序的概念,但是仍可以用這個方法乙個乙個移除並處理項。

update

update方法是用乙個字典項更新另外乙個字典,提供的字典中的項會被新增到舊的字典中去,如果有相同的鍵則會被覆蓋。

d=

x=d.update(x)

print

(d)

python基礎之字典

我們之前學到過,用編號可以對列表經行索引,但是有些時候往往不能通過標號經行索引,可能需要使用字串之類的型別經行索引。比如 我們需要通過姓名查詢 號碼。那麼使用列表就會相對麻煩。對於列表我們需要這樣做 name a b c num 1 2 3 num name.index b 2 這樣做顯然比較麻煩,...

python基礎之字典

dictionary 字典 儲存多個資料 列表是有序的物件集合 字典是無序的物件集合 字典用 定義,使用鍵值對儲存資料,鍵值對之間使用,隔開 鍵key是索引,值value是資料,鍵和值之間使用 分隔 鍵必須是唯一的,值可以取任何資料型別,但鍵只能使用字串 數字或元組 xiaoming print x...

Python基礎之字典

字典是另一種可變容器模型,且可儲存任意型別物件。字典的每個鍵值 key value 對用冒號 分割,每個對之間用逗號 分割,整個字典包括在花括號 中 格式如下所示 d 鍵必須是唯一的,但值則不必。值可以取任何資料型別,但鍵必須是不可變的。訪問字典裡的值,把相應的鍵放入到方括號中,如下例項 dict ...