我有一个字符串作为键的字典,以及字符串列表作为值。如何附加一个字符串给给定的键?将少量值添加到字典中的单个值
例如,给定:
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']})