例如,我的 list 是
my_list = [1,2,3,4,5, 9,10,11,12,13,14, 20,21,22,23,24,25,26,27]
我想将两个元素的第一个和最后一个边界保存在连续的值中。所以我需要得到的是:
output = [1,2,4,5, 9,10,13,14, 20,21,26,27]
我怎样才能简单或有效地得到这个结果?
最佳答案
使用more_itertools.consecutive_groups
import more_itertools as mit
my_list = [1,2,3,4,5,9,10,11,12,13,14,15]
x = [list(group) for group in mit.consecutive_groups(my_list)]
oputput = []
for i in x:
temp = [i[0],i[1],i[-2],i[-1]]
output.extend(temp)
输出:
[1,2,4,5,9,10,14,15]
关于python - 删除列表中的值,除了 python 中连续整数中的第一个和最后两个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55058430/