如何将值附加到dict键? (AttributeError:'str'对象没有属性'append')

时间:2018-03-22 19:41:49

标签: python dictionary data-structures append key

假设我有一个包含一个键(和一个值)的字典:

dict = {'key': '500'}.

现在我想为同一个键添加一个新值'1000'。然而,

dict[key].append('1000')

只是给了我"AttributeError: 'str' object has no attribute 'append'".

如果我这样做

dict[key] = '1000' 

它取代了以前的值。

我猜我必须创建一个列表作为一个值,并以某种方式将该列表作为键的值附加,但我不确定如何进行此操作。谢谢你的帮助!

1 个答案:

答案 0 :(得分:1)

我建议使用defaultdict在缺少密钥时实例化一个空列表。

>>> from collections import defaultdict
>>> d = defaultdict(list)
>>> d['key'].append(500)
>>> d
defaultdict(<type 'list'>, {'key': [500]})
>>> d['key'].append(1000)
>>> d
defaultdict(<type 'list'>, {'key': [500, 1000]})

我不建议将字符串/整数作为值,然后在想要追加到字段后切换到列表。保持一致。