gpt4 book ai didi

Python 列表(从列表中获取相同数字的三元组)

转载 作者:太空宇宙 更新时间:2023-11-04 10:03:59 24 4
gpt4 key购买 nike

假设我有一个列表 [12,12,12,12,13,13,13,13,14,14,14,14,14,14,14,15,15,15, etc]

我希望我的结果如下:[12,12,12,13,13,13,14,14,14,15,15,15]

第一个列表中相同数字的数量可能会有所不同,但我想为相同数字的每个范围获取三元组。我假设我可以从第一个数字 (12) 开始遍历列表并获得前 3 个相同的数字 (12,12,12),然后比较数字一旦数字 12 变为 13,获取接下来的 3 个数字 (13,13,13),依此类推。但我想不出一个好的方法来正确地做到这一点。感谢您提出任何建议。

最佳答案

我会使用 itertools.groupby() 来隔离相同数字的字符串,然后使用列表理解来创建三元组:

import itertools
some_list = [12,12,12,12,13,13,13,13,14,14,14,14,14,14,14,15,15,15,]
updated_list = [i for k,_ in itertools.groupby(some_list) for i in [k]*3]
assert updated_list == [12,12,12,13,13,13,14,14,14,15,15,15]

关于Python 列表(从列表中获取相同数字的三元组),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41972017/

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