我有一個字符串作爲鍵的字典,以及字符串列表作爲值。如何附加一個字符串給給定的鍵?將少量值添加到字典中的單個值
例如,給定:
dic = {"i'm": ['the']}
我想字符串「老闆」追加到「我」在存儲的字符串列表,即:
dic = {"i'm": ['the','boss']}
我有一個字符串作爲鍵的字典,以及字符串列表作爲值。如何附加一個字符串給給定的鍵?將少量值添加到字典中的單個值
例如,給定:
dic = {"i'm": ['the']}
我想字符串「老闆」追加到「我」在存儲的字符串列表,即:
dic = {"i'm": ['the','boss']}
你可以做到這一點的:
dic["i'm"].append('boss')
dic["i'm"].append("boss")
因爲dic["i'm"]
是列表,你想追加到。
你只需要追加到列表。首先,獲取列表,然後附加:
lst = dic["i'm"]
lst.append("boss")
或者你可以在一個步驟做到這一點:
dic["i'm"].append('boss')
如果有一個機會,(......還有幾乎一直是,除非你已檢查存在第一和沒有包括在這裏的代碼),你要找的關鍵還沒有被添加到字典然而,就在執行類似
dic["i'm"].append('boss')
代碼將引發KeyError
例外。爲了保護自己,你要麼換你的代碼在一個try/except塊,或使用字典的setdefault
方法,以確保有到位的空單第一,如:
dic.setdefault("i'm", []).append('boss')
如果dic
已經包含了一個列表關鍵「我是」,這是返回。如果不是,setdefault
首先向dict添加一個空列表並返回該列表。然後,您可以追加到已經存在或僅爲您創建的列表。
假設,關鍵是在字典中,它表示已經幾次簡單的解決方案:
dic["i'm"].append("boss")
如果關鍵可能不是在字典中,無論是與if key in dic
先檢查,使用dic.setdefault
,或使使用defaultdict。 defaultdict幾乎適用於您正在考慮的情況:
import collections
dd = collections.defaultdict(list)
dd["i'm"].append("the")
dd["i'm"].append("boss")
print dd # defaultdict(<type 'list'>, {"i'm": ['the', 'boss']})