在跳过元素的同时循环浏览列表(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)

它返回一个只有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,但我正在努力寻找一种变通方法,以获得所需的输出。

如有任何帮助,我们将不胜感激。如果有一种更像蟒蛇的方式来解决这个问题,我会洗耳恭听的。

非常感谢。

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]

最新更新