你說得就是python中的字典物件
它是由鍵值對這樣的資料組成,以下內容來自《python成為專業人士筆記》:
dictionary字典介紹
字典是鍵值儲存的乙個例子,在python中也稱為對映。它允許您通過引用鍵來儲存和檢索元素。由於字典是按鍵引用的,所以查詢速度非常快。由於它們主要用於按鍵去索引所有的值,所以不進行排序
建立乙個字典
字典可以以多種方式初始化:
d = {}
#建乙個空的字典
d =
#新建乙個字典並初始化值
#直接從另外乙個字典copy過來並初始化是可行的,語法:
d =
#也可以同時利用幾個字典組合組成新的字典
d =
修改字典
要將項新增到字典中,只需建立乙個帶有值的新鍵即可:
d['newkey'] = 42
也可以將list和dictionary作為值新增
d['new_list'] = [1, 2, 3]
d['new_dict'] =
要刪除項,可以用del關鍵字從字典中刪除鍵 :
del d[『newkey』]
避免keyerror異常
使用字典時乙個常見的陷阱是訪問乙個不存在的鍵。這通常會導致乙個keyerror異常
mydict = {} #這是乙個空字典
mydict['not there']
traceback (most recent call last):
file "", line 1, in
keyerror: 'not there'
避免鍵錯誤的一種方法是使用dict.get方法,該方法允許您指定乙個預設值,以便在沒有這個鍵的情況下返回。
value = mydict.get(key, default_value)
如果存在所需要獲取的key,則返回mydict[key]的值,否則返回預設值。注意,這並沒有向mydict新增金鑰。如果你想儲存鍵值對,你應該使用mydict.setdefault(鍵,預設值),它儲存鍵值對。
mydict = {}
print(mydict)
print(mydict.get("foo", "bar"))
#bar 注意,這裡返回了預設值
print(mydict)
#{} 仍然是空字典
print(mydict.setdefault("foo", "bar"))
#bar
print(mydict)
#使用setdefault方法儲存了鍵值對
處理此問題的另一種方法是捕獲異常 :
try:
value = mydict[key]
except keyerror:
value = default_value
還可以提前檢查鍵是否在字典中 :
if key in mydict:
value = mydict[key]
else:
value = default_value
但是,請注意,在多執行緒環境中,在您進行檢查時,可能會有其它執行緒從字典中刪除鍵,從而建立乙個仍然可以丟擲異常的程式。另一種選擇是使用dict的子類collections.defaultdict(下文會講解),它會在給定新鍵時在dict中建立新條目。
迭代字典
如果您使用字典迭代器(例如在for語句中),它將遍歷字典的鍵。例如
d =
for key in d:
print(key, d[key])
# c 3
# b 2
# a 1
當用於行表示式時也是如此:
print([key for key in d])
# ['c', 'b', 'a']
items()方法可用於同時迴圈鍵和值
for key, value in d.items():
print(key, value)
# c 3
# b 2
# a 1
而values()方法可以像預期的那樣,只對值進行迭代
for key, value in d.values():
print(key, value)
#3#2
#1
Python遍歷字典中的鍵
遍歷字典中的鍵 對於餐館中的廚師來說,他們並不想要知道菜的 只需要知道菜名然後將其做出來就行。所以對於廚師來說,我們需要遍歷menu字典中的所有菜名。python為字典型別內建了keys 方法,該方法會將字典裡的鍵遍歷出來,例如 建立並初始化menu選單字典 menu 利用keys 方法遍歷輸出鍵 ...
Python 字典中的鍵對映多個值
如何實現乙個字典 multidict 的鍵對應多個值?字典的定義就是乙個鍵對應乙個單值的對映。如果想要乙個鍵對映多個值,那麼需要將多個值放到其他容器中,例如列表和集合當中,示例 如下 a b y 而選擇使用列表還是集合取決於實際的需求。如果需要保持插入元素的順序,建議選擇列表 如果需求需要去掉重複的...
Python字典中的鍵對映多個值
實現乙個鍵對應多個值的字典 multidic 乙個字典就是乙個鍵對應乙個單值的對映。如果你想要乙個鍵對映多個值,那麼你就需要將這多個值放到另外的容器中,比如列表或者集合裡面。比如,你可以像下面這樣構造這樣的字典 d e b 選擇使用列表還是集合取決於你的實際需求。如果你想保持元素的插入順序就應該使用...