gpt4 book ai didi

python - 转换列表

转载 作者:行者123 更新时间:2023-11-28 19:40:11 24 4
gpt4 key购买 nike

我有一个这样的列表:

[['0', '10'], ['0', '11'], ['0', '12'], ['1', '10'], ['1', '11']]

如何对列表中的元素进行分组,例如上面的例子?

['0': ['10','11','12']],['1': ['10','11']]

最佳答案

迭代 - 放入字典。

d = {}
l = [['0', '10'], ['0', '11'], ['0', '12'], ['1', '10'], ['1', '11']]
for p in l:
if p[0] in d:
d[p[0]].append(p[1])
else:
d[p[0]] = [p[1]]

>>> d
{'1': ['10', '11'], '0': ['10', '11', '12']}

使用 defaultdict :

from collections import defaultdict

d = defaultdict(list)
l = [['0', '10'], ['0', '11'], ['0', '12'], ['1', '10'], ['1', '11']]
for p in l:
d[p[0]].append(p[1])

单行:使用 dict comprehension (有点浪费,但没有进口,需要2.7+)

>>> dd = {key: [i[1] for i in l if i[0] == key] for (key, value) in l}
>>> dd
{'1': ['10', '11'], '0': ['10', '11', '12']}

关于python - 转换列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13719501/

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