如何创建一个从给定索引循环回到该索引的循环

Nen*_*nad -1 python loops for-loop

标题可能令人困惑,但我不知道如何更好地表达自己.我有一个看起来像这样的列表:

myList = ['a', 'b', 'c', 'd', 'e', 'f']
Run Code Online (Sandbox Code Playgroud)

我想要做的是一个for循环,例如,从索引3开始,所以'd'然后到达结尾,但在列表的末尾,完成的内容回到开头,经过'a' ,'b','c'然后在'd'结束.我尝试用while循环这样做:

index = 3
while index != 2:
    if index == len(a):
        index = 0
    else:
        pass
    print(a[index])
    index += 1
Run Code Online (Sandbox Code Playgroud)

这种方法有效,但它永远不会打印出'c',但如果我把3作为索引,循环将永远不会开始.做这样的事情有更优雅的解决方案吗?

Cor*_*mer 9

您可以将模数运算符用于字符串的长度

def offset_print(s, offset):
    for i in range(len(s)):
        print(s[(i+offset) % len(s)])
Run Code Online (Sandbox Code Playgroud)

>>> offset_print('hello', 2)
l
l
o
h
e
Run Code Online (Sandbox Code Playgroud)