gpt4 book ai didi

python - 如何使用python从列表中仅选择连续的数字

转载 作者:行者123 更新时间:2023-12-01 03:48:03 24 4
gpt4 key购买 nike

我做了研究并尝试了下面的代码。它几乎有效,但我只想要结果中的连续数字。那将是[100,101,102]。我不想要结果中的 [75]、[78]、[109]。

from operator import itemgetter
from itertools import groupby
data = [75, 78, 100, 101, 102, 109]
for k, g in groupby(enumerate(data), lambda (i,x):i-x):
print map(itemgetter(1), g)

上面的打印输出是:
[75]

[78]

[100, 101, 102]

[109]

我该怎么做才能得到 [100, 101, 102]?

最佳答案

示例中的

g 是元素的可迭代(例如,[75] 或 [100, 101, 102])。如果您只需要连续的数字s,听起来您希望打印 g 中存在多个元素的所有 g [注意,g 实际上是一个可迭代对象,但我们可以使用 list() 快速将其转换为列表,以获取少量元素。我们只需要保存内容,因为一个元素不能从迭代器读取两次]

尝试将 print map(itemgetter(1), g) 包装在 if 语句中,例如:

x = list(g)
if len(x) > 1:
print map(itemgetter(1), x)

关于python - 如何使用python从列表中仅选择连续的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38669527/

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