如果迭代不是从第一个元素开始,那么如何通过for循环传递列表中的所有项目

Pol*_*Pol 1 language-agnostic iteration

如何通过for循环传递列表中的所有项目.如果迭代不是从第一个元素开始的话.

让我们马上跳到示例:

我们有清单 ['a','b','c','d'].

我想使用for循环遍历此列表中的所有项目.但是如果迭代不是从第一个元素开始,我想从第一个元素开始返回oand.像这样的东西:

lst = ['a','b','c','d']

start_index = 2

for loop_num in range(len(lst)):
    item = lst[start_index+loop_num]
    print item
Run Code Online (Sandbox Code Playgroud)

它会打印我:

>> c,d
Run Code Online (Sandbox Code Playgroud)

比升起IndexOutOfRange错误

但我希望结果是这样的:

>> c, d, a, b
Run Code Online (Sandbox Code Playgroud)

如果我们将start_index变量更改为1结果,则假设为:

b, c, d, a
Run Code Online (Sandbox Code Playgroud)

的情况下 start_index = 0

结果: a, b, c, d

KoV*_*dim 5

lst = ['a','b','c','d']

start_index = 2

for loop_num in range(len(lst)):
    item = lst[(start_index+loop_num) % len(lst)]
    print item
Run Code Online (Sandbox Code Playgroud)

% - 这是特殊操作.3%5 = 3,10%5 = 0,阅读它RemainderPython Doc