从列表开始:

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/

10-12 14:27