python - 比较 2 个列表并将值附加到新的字典列表
问题描述
我是python的初学者,试图返回字典v3的新列表,当列表v2中的值等于字典v1列表的键时。字典 v3 的新列表应包含匹配的键和值。
v1 = [
{"Key": "State", "Value": "UP"},
{"Key": "city", "Value": "bihar"},
{"Key": "Name", "Value": "Sam"},
{"Key": "Product", "Value": "cookies"},
{"Key": "id", "Value": "23"},
{"Key": "email", "Value": "enim@gmail.com"},
]
v2 = ["Name", "Product", "State", "Name"]
v3 = []
预期的输出应该是
v3 = [
{"Key": "Name", "Value": "Sam"},
{"Key": "Product", "Value": "cookies"},
{"Key": "State", "Value": "UP"},
{"Key": "Name", "Value": "Sam"},
]
以下是我尝试过的代码,但代码不完整
for bb in v1:
if bb['Key'] in v2:
v3.append({bb['Key']:bb['Value']})
解决方案
您可以尝试使用列表理解:
v3=[dc for val in v2 for dc in v1 if val==dc['Key']]
输出:
v3
[{'Key': 'Name', 'Value': 'Sam'}, {'Key': 'Product', 'Value': 'cookies'}, {'Key': 'State', 'Value': 'UP'}, {'Key': 'Name', 'Value': 'Sam'}]
推荐阅读
- python - 3D 图形。添加 Z 分量
- python - 如何在 Django Rest Framework 中禁用节流以进行测试?
- python - pip3 "build" 不会安装(已解决)
- python - 为什么我的 Cloud Run 出现 Broken Pipe 错误?
- javascript - 检测用户是否尝试调整可拖动元素的大小
- javascript - 如何访问从云函数(kotlin/typescript)返回给客户端的数组元素?
- c# - 捕获缺少页面扩展的 URL
- r - 映射时函数返回所有值而不是一个
- c++ - 我的函数应该使用什么返回类型来打印斐波那契数字?
- c# - android - 如何使用 ImageCropper.Forms 拍照和裁剪?