【发布时间】:2020-12-09 09:57:22
【问题描述】:
我有一种可怕的感觉,这将是重复的,我已经尽力找到答案了。
我有一个字典和一个列表,我想创建一个字典列表,使用该列表覆盖其中一个键值,如下所示:
d={"a":1,"b":10}
c=[3,4,5]
arg=[]
for i in c:
e=d.copy()
e["a"]=i
arg.append(e)
这给出了想要的结果
arg
[{'a': 3, 'b': 10}, {'a': 4, 'b': 10}, {'a': 5, 'b': 10}]
但代码很难看,尤其是使用复制命令时,在我的实际示例中,我有 4 或 5 个列表,而不是一个列表,这会导致一个巨大的嵌套循环。我确信有一个像迭代器这样的更简洁的方法
arg=[d *with* d[a]=i for i in c]
我不知道用什么来代替“with”。
再次,如果已经回答,我们深表歉意。
【问题讨论】:
标签: python iterator dictionary-comprehension