我有字典列表和整数列表
x = [
{
"name": "tom",
"job": "judge"
},
{
"name":"bob",
"job": "policeman"
}
]
y = [1000, 2200]
我想压缩它们并将y
元素添加到字典中,因为"payroll": y_element
所需的输出是:
[
{
"name": "tom",
"job": "judge",
"payroll": 1000
},
{
"name":"bob",
"job": "policeman",
"payroll": 2200
}
]
我实际上是通过以下方式实现的:
z = zip(x, y)
for i in z:
i[0]["payroll"] = i[1]
z = [i[0] for i in z]
但我想知道它是否可以在列表理解中的字典理解中完成。这是我到目前为止所尝试的:
z = [{k: v, "value": o} for d, o in z for k, v in d.items()]
显然这是错误的,因为输出是:
{'name': 'bob', 'job': 'policeman', 'value': 2}
**
您可以使用此处将字典与所需数据合并。
[{**d, 'payroll':i} for d, i in zip(x, y)]
# [{'name': 'tom', 'job': 'judge', 'payroll': 1000},
# {'name': 'bob', 'job': 'policeman', 'payroll': 2200}]
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句