gpt4 book ai didi

python - 分组 python 中的列表

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

我有一个列表:

 l = [2.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 12.0,96.0, 192.0, 480.0, 360.0, 504.0, 300.0]

我想以 10 的组大小差异对列表中的元素进行分组。 (即 0-10,10-20,20-30,30-40...等)

例如:

我正在寻找的输出是:

[ [2,4,5,6,7,8,10],[12],[96],[192],[300],[360],[480],[504] ]

我尝试使用:

list(zip(*[iter(l)] * 10))

但是得到错误的答案。

最佳答案

使用itertools.groupby除以(//) 10 后分组

from itertools import groupby
l = [2.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0, 12.0,96.0, 192.0, 480.0, 360.0, 504.0, 300.0]

groups = []
for _, g in groupby(l, lambda x: (x-1)//10):
groups.append(list(g)) # Store group iterator as a list

print(groups)

输出:

[[2.0, 4.0, 5.0, 6.0, 7.0, 8.0, 10.0], [12.0], [96.0], [192.0], [480.0], [360.0], [504.0], [300.0]] 

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

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