我试图根据python列表中元素之间的差异将未知长度的列表拆分成多个列表。该列表包含连续的整数,直到发生“中断”,另一组连续的整数开始。我一直试图通过一个非常基本的例子来使语法正确,但是遇到了一些麻烦:
a = [1,2,3,4,5,9,10,11,12,13]
理想情况下,我想把它分成两个列表:
b = [1,2,3,4,5]
和c = [9,10,11,12,13]
基于列表中元素5和9之间的差异。
我尝试使用不同形式的列表理解,但没有完全正确的命令。
b = [e for e in a if e+1 - e == 1]
打印b
b = [1,2,3,4,5,9,10,11,12,13]
当我以为它会返回b = [1,2,3,4,5]
任何见解都会很棒。我一直在寻找,并且还没有找到一种方法来可靠地分割列表中的出现次数以及数字序列中的未知中断。我已经考虑过结合remove()或del()操作range()函数来获取列表中我不需要的部分,但是还没有找到一种可行的方法来使用这些函数。我是一名新手程序员,主要在arcgis的arcpy模块中工作,并且在arcgis工作之外的实际编程经验有限。