python - 如何有条件地将数据从数组添加到字典

标签 python dictionary

我在已经有一些数据的列表中有字典,我想为这些字典中的每个品牌添加一个 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"},
]

找不到与我想要达到的目标相匹配的东西

Conditionally add values to dictionary

最佳答案

我建议为您的 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/

相关文章:

Python西蒙游戏: I Got Stuck Finishing the Sequence

python - 如何设置或修改来自 Mercurial 扩展的提交消息?

arrays - Swift tableview 单元格重用问题

python - 列表字典中的总和值

python - 为什么从字典中删除负值的代码不起作用?

c++ - 如何从 std::map 中检索所有键(或值)并将它们放入 vector 中?

Python - 如何编辑 Soap Envelope/xmlns 的命名空间 :encodingStyle

python - 为什么我似乎无法将标签放入 Kivy 应用程序中的 StackLayout(或其他布局)中?

python - tk 嵌入式 xterm 的大小如何动态变化?

python - 试图在 DataFrame 的切片副本上设置一个值