使用未定义的键将列表添加到 for 循环中的字典键

Dat*_*ice 4 python

我正在整理一些数据到字典中,不知道有没有更好的方法来处理字典

假设我有一个字典dict_,我将它初始化为

dict_ = {}
Run Code Online (Sandbox Code Playgroud)

现在我有一个我想迭代并添加到我的字典中的对象。

for item in iterable:
   dict_[key_a] = item.data
Run Code Online (Sandbox Code Playgroud)

如果只有一个 item.data 要添加到键中,这会起作用,但是如果我有一个数组呢?

我知道我可以做到这一点

dict_[key_a] = []
for item in iterable:
    dict_[key_a] = [item.data]
Run Code Online (Sandbox Code Playgroud)

但我想知道是否有一种方法可以dict_[key_a] = []让我的代码更简洁?

使用会dict_['key_a'].append(item.data)导致错误,这是正确的。

我的预期输出是

print(dict_)
{'key_a' : ['foo','bar']}
Run Code Online (Sandbox Code Playgroud)

祝大家节日快乐。

Ósc*_*pez 6

这是一种惯用的方法,使用 adefaultdict以空列表作为默认值预初始化键:

from collections import defaultdict
dict_ = defaultdict(list)

for item in iterable:
   dict_[key_a].append(item.data)
Run Code Online (Sandbox Code Playgroud)