从列表开始:
l = [0,1,2,3,6,7,8,9]
试图产生:
nl [[0, 1], [1, 2], [2, 3], [6, 7], [7, 8], [8, 9]]
使用 for 循环,我试图遍历列表,并使用前一个数字作为我的比较来创建一个集群组,重叠组多次使用数字。它不起作用,我不知道为什么。一旦达到 6,它就会停止添加到列表中。
*编辑:是的,仅对数字序列对、1、2、3 等进行分组。并跳过 3,6
测试代码:
l = [0,1,2,3,6,7,8,9]
nl = []
lastN = 0
for i in range(1,len(l)):
lastN = l[i - 1]
if i - lastN == 1:
nl.append([lastN, i])
print('nl',nl)
这导致:
nl [[0, 1], [1, 2], [2, 3], [3, 4]]
我的目标是:
nl [[0, 1], [1, 2], [2, 3], [6, 7], [7, 8], [8, 9]]
最佳答案
试试这个:
https://repl.it/repls/SelfreliantNaturalDaemon
l = [0,1,2,3,6,7,8,9]
nl = []
for i in range(len(l)-1):
if l[i+1] - l[i] == 1:
nl.append([l[i], l[i+1]])
print('nl',nl)
返回:
nl [[0, 1], [1, 2], [2, 3], [6, 7], [7, 8], [8, 9]]
关于使用列表的 Python For 循环 - 尝试根据循环中使用的最后一个数字对数字对进行分组,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57259048/