我有一个这样的字典列表:
dicts = [
{'key_a': valuex1,
'key_b': valuex2,
'key_c': valuex3},
{'key_a': valuey1,
'key_b': valuey2,
'key_c': valuey3},
{'key_a': valuez1,
'key_b': valuez2,
'key_c': valuez3}
]
我想把这些东西做成一本大字典,就像这样:
big_dict = {
'key_a': [valuex1, valuey1, valuez1],
'key_b': [valuex2, valuey2, valuez2],
'key_c': [valuex3, valuey3, valuez3]
}
有没有什么优雅的“zip”的方式让我这么做?
所有的钥匙总是一样的。
如果所有的听写都有一组相同的键,这将起作用:
如果它们可能有不同的键,则首先需要通过对不同dict的键执行set union来构建一组键:
那么你需要在一些口述中防止丢失钥匙:
或者,用dict comprehension:
您可以使用^{} 。这个解决方案的好处是它不需要在字典之间保持键的一致性,并且它仍然保持最小的O(n)时间复杂性。
结果:
相关问题 更多 >
编程相关推荐