gpt4 book ai didi

python - 按模式对列表进行排序

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

我目前有一个名为 items 的列表。我使用 items.sort() 来按升序排列它们,但我想要所需的输出。有没有简单又容易的方法在 python 中做到这一点?

items = ['hat1', 'mat3', 'bat2', 'bat1', 'hat2', 'mat4', 'hat5', 'hat6', 'mat1']

当前 O/P-

bat1, bat2, hat1, hat2, hat5, hat6, mat1, mat3, mat4

所需的 O/P-

bat1, bat2
hat1, hat2, hat5, hat6
mat1, mat3, mat4

最佳答案

使用itertools.groupby:

from itertools import groupby

items = ['hat1', 'mat3', 'bat2', 'bat1', 'hat2', 'mat4', 'hat5', 'hat6', 'mat1']

for k, g in groupby(sorted(items), key=lambda x: x[:3]):
print(list(g))

# ['bat1', 'bat2']
# ['hat1', 'hat2', 'hat5', 'hat6']
# ['mat1', 'mat3', 'mat4']

关于python - 按模式对列表进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57387027/

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