gpt4 book ai didi

Python:减少列表但保留细节

转载 作者:行者123 更新时间:2023-11-28 21:26:45 25 4
gpt4 key购买 nike

假设我有一个项目列表,其中一些在某种程度上是相似的但在一个点后相差一个数字

['abc.1',
'abc.2',
'abc.3',
'abc.7',
'xyz.1',
'xyz.3',
'xyz.11',
'ghj.1',
'thj.1']

我想从这个列表中生成一个新列表,它折叠多个但保留它们的一些数据,即数字后缀所以上面的列表应该产生一个新的列表

[('abc',('1','2','3','7'))
('xyz',('1','3','11'))
('ghj',('1'))
('thj',('1'))]

我想到的是,第一个列表可以被点分割成对但是我如何在不丢失第二部分的情况下按第一部分对对进行分组

如果这个问题很笨,我很抱歉,在此先感谢

...哇,我没想到这么快就有这么多好的答案,谢谢

最佳答案

from collections import defaultdict

d = defaultdict(list)

for el in elements:
key, nr = el.split(".")
d[key].append(nr)

#revert dict to list
newlist = d.items()

关于Python:减少列表但保留细节,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12252577/

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