gpt4 book ai didi

python - 将每个键有 n 个值的字典拆分为 n 个字典

转载 作者:行者123 更新时间:2023-12-05 09:26:10 26 4
gpt4 key购买 nike

如何将每个键有 2 个值的字典拆分为两个字典,一个用于第一个值,一个用于第二个值?

也就是说,我如何将这个 d = {'a':['val1', 'val2'], 'b': ['val1', 'val2']} 变成:

d1 = {"a": "val1", "b": "val1"}
d2 = {"a": "val2", "b": "val2"}

python 3.7

最佳答案

这是对字典中所有值的简单列表理解,适用于任何列表长度(包括不匹配的长度——较短的列表不会在所有结果字典中表示):

>>> d = {'a':['val1', 'val2'], 'b': ['val1', 'val2']}
>>> n_dicts = [
... {k: v[i] for k, v in d.items() if i < len(v)}
... for i in range(max(len(v) for v in d.values()))
... ]
>>> n_dicts
[{'a': 'val1', 'b': 'val1'}, {'a': 'val2', 'b': 'val2'}]

如果需要,您当然可以将其解构为两个变量:

>>> d1, d2 = n_dicts
>>> d1
{'a': 'val1', 'b': 'val1'}
>>> d2
{'a': 'val2', 'b': 'val2'}

但将其保留为列表会使您的代码更容易处理不同数量的元素/字典。

关于python - 将每个键有 n 个值的字典拆分为 n 个字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74201070/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com