我对Python真的很陌生,在解决下面的问题时遇到了问题。

我有一个类似的清单:

my_list = ['testOne:100', 'testTwo:88', 'testThree:76', 'testOne:78', 'testTwo:88', 'testOne:73', 'testTwo:66', 'testThree:90']


我想根据以'testOne'开头的元素的出现情况对元素进行分组。

预期结果:

new_list=[['testOne:100', 'testTwo:88', 'testThree:76'], ['testOne:78', 'testTwo:88'], ['testOne:73', 'testTwo:66', 'testThree:90']]

最佳答案

只需在每个testOne处开始一个新列表。

>>> new_list = []
>>> for item in my_list:
        if item.startswith('testOne:'):
            new_list.append([])
        new_list[-1].append(item)

>>> new_list
[['testOne:100', 'testTwo:88', 'testThree:76'], ['testOne:78', 'testTwo:88'], ['testOne:73', 'testTwo:66', 'testThree:90']]

关于python - 根据值的重复对列表中的元素进行分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45068049/

10-08 22:02