在跳过元素的同时循环列表 (python)

cycle through a list while skipping elements (python)

我正在尝试找到一种方法来遍历单个列表的循环,每次都跳过第一个元素。

例如,如果我有一个列表:

lst = [0,1,2,3,4,5,6]

并希望使用 for 循环循环遍历除第一个元素以外的所有元素并在任意点停止。因此,如果我希望从 lst 的索引 1 开始并遍历每个元素(不包括第一个)的循环,我可以使用以下内容:

scd = [1,2,3,4,5,6]
out = []
for i in range (1,14+1):
    if (i%len(lst)) not in scd:
        continue
    else:
        out.append(lst[i%len(lst)])
print(out)

它 returns 一个只有 12 个元素的列表:

[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6]

我试图获得的输出是:

[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2]

我知道问题出在 for 循环中使用 continue,但我正在努力寻找获得所需输出的解决方法。

如有任何帮助,我们将不胜感激。另外,如果有更 pythonic 的方式来解决这个问题,我洗耳恭听。

非常感谢。

IIUC,您只是想重复相同的列表,对吗?在这个地方你可以使用 divmod:

连接列表怎么样
num = 14
i,j = divmod(num, len(lst)-1)
out = lst[1:] * i + lst[1:1+j]

输出:

[1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6, 1, 2]