gpt4 book ai didi

python - 将具有重复键的元组列表转换为列表字典

转载 作者:太空宇宙 更新时间:2023-11-03 12:27:41 25 4
gpt4 key购买 nike

我有一个带有重复键的关联 list:

l = [(1, 2), (2, 3), (1, 3), (2, 4)]

我想要一个带有 list 值的 dict:

d = {1: [2, 3], 2: [3, 4]}

我能做得更好吗:

for (x,y) in l:
try:
z = d[x]
except KeyError:
z = d[x] = list()
z.append(y)

最佳答案

您可以使用 dict.setdefault() method为缺少的键提供一个默认的空列表:

for x, y in l:
d.setdefault(x, []).append(y)

或者您可以使用 defaultdict() object为丢失的键创建空列表:

from collections import defaultdict

d = defaultdict(list)
for x, y in l:
d[x].append(y)

但要关闭自动激活行为,您必须将 default_factory 属性设置为 None:

d.default_factory = None  # switch off creating new lists

关于python - 将具有重复键的元组列表转换为列表字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28306906/

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