使用另一个列表中的键值对更新python词典列表

Har*_*ikh 12 python dictionary list

假设我有以下python字典列表:

dict1 = [{'domain':'Ratios'},{'domain':'Geometry'}]
Run Code Online (Sandbox Code Playgroud)

和列表如:

list1 = [3, 6]
Run Code Online (Sandbox Code Playgroud)

我想更新dict1或创建另一个列表如下:

dict1 = [{'domain':'Ratios', 'count':3}, {'domain':'Geometry', 'count':6}]
Run Code Online (Sandbox Code Playgroud)

我该怎么做?

jam*_*lak 23

>>> l1 = [{'domain':'Ratios'},{'domain':'Geometry'}]
>>> l2 = [3, 6]
>>> for d,num in zip(l1,l2):
        d['count'] = num


>>> l1
[{'count': 3, 'domain': 'Ratios'}, {'count': 6, 'domain': 'Geometry'}]
Run Code Online (Sandbox Code Playgroud)

另一种方法,这次使用列表理解,不会改变原始:

>>> [dict(d, count=n) for d, n in zip(l1, l2)]
[{'count': 3, 'domain': 'Ratios'}, {'count': 6, 'domain': 'Geometry'}]
Run Code Online (Sandbox Code Playgroud)


lar*_*sks 6

你可以这样做:

for i, d in enumerate(dict1):
    d['count'] = list1[i]
Run Code Online (Sandbox Code Playgroud)