gpt4 book ai didi

python - 在python中有条件的列表中删除数字

转载 作者:行者123 更新时间:2023-12-03 22:59:13 25 4
gpt4 key购买 nike

我试图删除位于列表中连续数字之间的数字。例子:
形式 [1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 18][1, 3, 5, 9, 11, 13, 18]你会丢弃 [6, 7, 8] 和 [12]

最佳答案

你可以试试 itertools.groupby :

from itertools import groupby

lst = [1, 3, 5, 6, 7, 8, 9, 11, 12, 13, 18]

out = []
for _, g in groupby(enumerate(lst), lambda k: k[0] - k[1]):
g = list(g)
out.append(g[0][1])
if len(g) > 1:
out.append(g[-1][1])

print(out)
打印:
[1, 3, 5, 9, 11, 13, 18]

关于python - 在python中有条件的列表中删除数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67233974/

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