只是不能得到这个工作。任何帮助都受到高度赞赏。
dict = {}
for n in n1:
if # condition #
dict[key] = []
dict[key].append(value)
print dict
Run Code Online (Sandbox Code Playgroud)
这是打印这样的东西
{'k1':['v1']} 和 {'k1':['v2']}
我有几个其他嵌套的 for 循环这个代码,它将使用这个 dict 并且 dict 只有最新的键值对,即 {'k1':'v2'}
我正在寻找类似的东西 {'k1':['v1','v2']}
请提出一个不使用的解决方案 setdefault
#example below is in the docs.
from collections import defaultdict
s = [('yellow', 1), ('blue', 2), ('yellow', 3), ('blue', 4), ('red', 1)]
d = defaultdict(list)
for k, v in s:
d[k].append(v)
print(sorted(d.items()))
[('blue', [2, 4]), ('red', [1]), ('yellow', [1, 3])]
Run Code Online (Sandbox Code Playgroud)
该d = defaultdict(list)行默认将键值设置为空字典,并将值附加到循环中的列表中。
您还可以在分配之前检查密钥是否存在。
dict = {}
for n in n1:
if # condition #
if key not in dict:
dict[key] = []
dict[key].append(value)
print dict
Run Code Online (Sandbox Code Playgroud)