我在已经有一些数据的列表中有字典,我想为这些字典中的每个品牌添加一个 vin
编号。
my_brand_dict = [
{"key": {"Brand": "Tesla", "Date": "20203"}, "Total": 56},
{"key": {"Brand": "Tesla", "Date": "20207"}, "Total": 88},
{"key": {"Brand": "Audi", "Date": "202014"}, "Total": 79},
{"key": {"Brand": "Mercedes", "Date": "20201"}, "Total": 49},
]
my_vins = ["f60a0a", "#2019c0", "#a81b1b", "#468650", "#21248a", "#ff7a00"]
当品牌是特斯拉时添加'#468650'
当 Brand 是 Mercedes 时添加 '#2019c0'
当品牌是 Toyota 时添加 '#21248a'
当 Brand 是 Audi 时添加 '#ff7a00'
我的预期输出:
my_brand_dict = [
{"key": {"Brand": "Tesla", "Date": "20203"}, "Total": 56, "my_vin": "#468650"},
{"key": {"Brand": "Toyota", "Date": "20207"}, "Total": 88, "my_vin": "#21248a"},
{"key": {"Brand": "Audi", "Date": "202014"}, "Total": 79, "my_vin": "#ff7a00"},
{"key": {"Brand": "Mercedes", "Date": "20201"}, "Total": 49, "my_vin": "#2019c0"},
]
找不到与我想要达到的目标相匹配的东西
最佳答案
我建议为您的 my_vins
使用字典而不是列表,以便它将品牌映射到 vins。这样就可以轻松得到对应的vin。
my_brand_dict = [
{"key": {"Brand": "Tesla", "Date": "20203"}, "Total": 56},
{"key": {"Brand": "Tesla", "Date": "20207"}, "Total": 88},
{"key": {"Brand": "Audi", "Date": "202014"}, "Total": 79},
{"key": {"Brand": "Mercedes", "Date": "20201"}, "Total": 49},
]
my_vins = {
"Mercedes": "#2019c0",
"Tesla": "#468650",
"Toyota": "#21248a",
"Audi": "#ff7a00",
}
for d in my_brand_dict:
brand = d["key"]["Brand"]
vin = my_vins[brand]
d["my_vin"] = vin
print(my_brand_dict)
然后注意如果品牌没有 vin
会发生什么,您可以引发异常或分配默认值。
关于python - 如何有条件地将数据从数组添加到字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73872839/