gpt4 book ai didi

python - 从python中的字典列表构造两个列表

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:19 25 4
gpt4 key购买 nike

我有一个包含 2 个或更多键的字典列表,我想根据这些键构建 2 个或更多列表。例如:

dict_list = [{'key1':1, 'key2':2}, {'key1': 3, 'key2':4}, ... ]

应该变成

list1 = [1, 3, ...]
list2 = [2, 4, ...]

要构建单个列表,有一个优雅的解决方案:

list1 = [item['key1'] for item in dict_list]

但是,这样做两次效率会很低。是否有一种高效、优雅或 Pythonic 的方式来做到这一点?我的另一个解决方案是:

list1 = []
list2 = []
for item in dict_list:
list1.append(item['key1'])
list2.append(item['key2'])

但是,当然,这感觉不如某种列表理解技术优雅。

最佳答案

我建议制作一个字典,其中包含原始字典的键和 list 的值,其中包含每个原始字典的适当值:

>>> dict_list = [{'key1':1, 'key2':2}, {'key1': 3, 'key2':4}]
>>> dct = {}
>>> for d in dict_list:
... for k in d:
... dct.setdefault(k, []).append(d[k])
...
>>> dct
{'key1': [1, 3], 'key2': [2, 4]}

关于python - 从python中的字典列表构造两个列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33161264/

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