我想在列表中标识连续数字组,以便:
myfunc([2, 3, 4, 5, 12, 13, 14, 15, 16, 17, 20])
Run Code Online (Sandbox Code Playgroud)
返回:
[(2,5), (12,17), 20]
Run Code Online (Sandbox Code Playgroud)
并且想知道最好的方法是什么(特别是如果在Python中有内置的东西).
编辑:注意我原本忘了提到个别数字应该作为单独的数字返回,而不是范围.
我想切这个数字列表:
num_list = [97, 122, 99, 98, 111, 112, 113, 100, 102]
Run Code Online (Sandbox Code Playgroud)
分为多个子列表.切片的条件是每个子列表中的数字应按递增顺序排列.
所以最终结果将如下所示:
list_1 = [97, 122]
list_2 = [99]
list_3 = [98, 111, 112, 113]
list_4 = [100, 102]
Run Code Online (Sandbox Code Playgroud)
有人可以帮我解决这个问题吗?非常感谢