Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python根据数字的顺序将列表划分为多个列表_Python_Numbers_Logic - Fatal编程技术网

python根据数字的顺序将列表划分为多个列表

python根据数字的顺序将列表划分为多个列表,python,numbers,logic,Python,Numbers,Logic,我有这个清单 nums=[1,2,6,7,8,9,44,90110111112] 我想根据顺序将它们划分为子列表 44:前后无编号;排除 90与44相同 因此,最终输出将是 最后一项=[[1,2],[6,7,8,9],[110111112]] 我希望该列表是动态的,以便它可以接收任何数量的项目,甚至数百万 谢谢以下是从列表中查找组序列的解决方案 def groupSequence(x): it = iter(x) prev, res = next(it), []

我有这个清单 nums=[1,2,6,7,8,9,44,90110111112]

我想根据顺序将它们划分为子列表

44:前后无编号;排除

90与44相同

因此,最终输出将是

最后一项=[[1,2],[6,7,8,9],[110111112]]

我希望该列表是动态的,以便它可以接收任何数量的项目,甚至数百万


谢谢

以下是从列表中查找组序列的解决方案

def groupSequence(x): 
    it = iter(x)
    prev, res = next(it), []
    
    while prev is not None:
        start = next(it, None)
        if prev + 1 == start:
            res.append(prev)
        elif res:
            yield list(res + [prev])
            res = [] 
        prev = start 

        
nums=[1,2,6,7,8,9,44,90,110,111,112]
print(list(groupSequence(nums))) 

到目前为止你试过什么?你得到了什么结果?这看起来像是学校布置的作业,堆栈溢出不是为了让其他人来解决您的问题,但为了帮助您,当您遇到问题时,您可以使用副本中的一个解决方案,然后根据子列表长度大于1的情况过滤列表。我认为我为每个项目执行for循环,并在该项目上定义变量,该变量将加1,如果等于1,则将附加到另一个列表,最后,但它是在代码中很难做到我得到了答案。。。根据另一页提到的问题。。。当我有空的时候我会试试。。。谢谢你的回复