Skip to main content
 首页 » 编程设计

python之删除列表中的值,除了 python 中连续整数中的第一个和最后两个元素

2025年05月04日9duanxz

例如,我的 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]