我有字典的字典:
a = {
'a': {'id': 1},
'b': {'id': 1},
'c': {'id': 1}
}
Run Code Online (Sandbox Code Playgroud)
和字典列表:
b = [{'word': 'foo'}, {'word': 'baz'}, {'word': 'bar'}]
Run Code Online (Sandbox Code Playgroud)
我需要将 a 中的每个字典更新为 b 中的每个值关键字
例子:
a = {
'a': {'id': 1, 'word': foo},
'b': {'id': 1, 'word': baz},
'c': {'id': 1, 'word': bar}
}
Run Code Online (Sandbox Code Playgroud)
我尝试用下一种方法来做:
[
a.update(
{
'word': i
}
)
for a in a.values()
for i in [
df['word'] for df in b
]
]
Run Code Online (Sandbox Code Playgroud)
但我有所有新键和最后一个词栏:
a = {
'a': {'id': 1, 'word': bar},
'b': {'id': 1, 'word': bar},
'c': {'id': 1, 'word': bar}
}
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决它?
用于zip并发a迭代b:
for k, d in zip(a, b):
a[k].update(d)
Run Code Online (Sandbox Code Playgroud)
结果:
{'a': {'id': 1, 'word': 'foo'},
'b': {'id': 1, 'word': 'baz'},
'c': {'id': 1, 'word': 'bar'}}
Run Code Online (Sandbox Code Playgroud)
您还可以用作a.values()以下参数之一zip:
for d1, d2 in zip(a.values(), b):
d1.update(d2)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
976 次 |
| 最近记录: |