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作为索引,循环将永远不会开始.做这样的事情有更优雅的解决方案吗?
您可以将模数运算符用于字符串的长度
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)