将少量值添加到字典中的单个值中

时间:2011-11-27 15:39:33

标签: python string list key

我有一个字符串,字符串作为键,字符串列表作为值。如何将附加字符串附加到给定键?

例如,给定:

dic = {"i'm": ['the']}

我想将字符串'boss'附加到“i'm”下存储的字符串列表中,即:

dic = {"i'm": ['the','boss']}

5 个答案:

答案 0 :(得分:4)

假设密钥在字典中,它已经好几次显示了简单的解决方案:

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']})

答案 1 :(得分:2)

dic["i'm"].append("boss")

因为dic["i'm"]是列表,您想要附加到该列表。

答案 2 :(得分:1)

您可以通过以下方式实现这一目标:

dic["i'm"].append('boss')

答案 3 :(得分:1)

如果有机会(......除非你已经先检查过存在并且此处没有包含该代码,否则几乎总是存在),你所寻找的那个键还没有添加到dict中,只是执行像

这样的代码
dic["i'm"].append('boss')

会引发KeyError例外。为了保护自己,你应该将你的代码包装在try / except块中,或者使用dict的setdefault方法来确保首先存在一个空列表,如:

dic.setdefault("i'm", []).append('boss')

如果dic已包含“我是”键的列表,则会返回该列表。如果没有,setdefault首先向dict添加一个空列表并返回该列表。然后,您将附加到已存在或刚刚为您创建的列表中。

答案 4 :(得分:0)

您只需要附加到列表中即可。首先,获取列表,然后附加:

lst = dic["i'm"]
lst.append("boss")

或者您可以一步完成:

dic["i'm"].append('boss')