gpt4 book ai didi

python - 如何将此字典列表转换为新字典

转载 作者:太空宇宙 更新时间:2023-11-04 06:49:49 24 4
gpt4 key购买 nike

我想转换这个字典列表:

input_list = [
{'a': 5,'b': 7},
{'a': 3,'b': 4},
]

为此:

result_dict = {
'a': [5, 3],
'b': [7, 4]
}

我不知何故无法做到这一点。

有人可以帮我吗?

最佳答案

vanilla Python 方法

result = {}
for subdic in data:
for k, v in subdic.items():
result.setdefault(k, []).append(v)

在这里,我们遍历项目,并向 result 字典添加一个空列表,以防键尚未在字典中。无论是否已经有一个列表,我们都会将 v 附加到该列表。

使用defaultdict

我们可以通过使用 collections 中的 defaultdict 使其更优雅:

from collections import defaultdict

result = defaultdict(list)
for subdic in data:
for k, v in subdic.items():
result[k].append(v)

这里我们基本上对 setdefault 进行了抽象(并且我们也节省了构造无用空列表的时间)。如果输出应该是 dict(而不是 defaultdict),我们可以用以下方式结束函数:

result = dict(result)

使用 Pandas

如果每个字典都包含相同的键,我们可以使用 pandas:

from pandas import DataFrame

result = DataFrame(data).to_dict(orient='list')

关于python - 如何将此字典列表转换为新字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48773674/

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