在循环python中添加数字
这是我的难题。假设您有一个循环和一个包含100个python成员的列表,如下所示:在循环python中添加数字,python,for-loop,indexing,Python,For Loop,Indexing,这是我的难题。假设您有一个循环和一个包含100个python成员的列表,如下所示: myList=range(100) for i in range(100): print(myList[i]) print(myList[i+5]) print(myList[i-5]) 如何防止myList的索引超过列表的长度或低于0 例如,如果循环中的索引为99,则: print(myList[i+5]) 将返回索引错误 为了澄清这一点,我的意思是,我可以找出[I+5]是什么,
myList=range(100)
for i in range(100):
print(myList[i])
print(myList[i+5])
print(myList[i-5])
如何防止myList的索引超过列表的长度或低于0
例如,如果循环中的索引为99,则:
print(myList[i+5])
将返回索引错误
为了澄清这一点,我的意思是,我可以找出[I+5]是什么,就好像列表在循环中一样
因此,如果你想象索引是99(再次),我想转到第四个索引(在添加5并循环回到开始处之后)。直接的方法是从5开始,在列表长度-5处结束,如下所示
for i in range(5, len(myList) - 5):
print(myList[i])
print(myList[i+5])
print(myList[i-5])
for i in range(100):
print(myList[i])
if i + 5 < len(myList):
print(myList[i+5])
if i - 5 >= 0:
print(myList[i-5])
for i in range(100):
print(myList[i])
print(myList[(i + 5) % len(myList)])
print(myList[(i - 5) % len(myList)])
或者,您可以在访问该位置的元素之前确保索引有效,如下所示
for i in range(5, len(myList) - 5):
print(myList[i])
print(myList[i+5])
print(myList[i-5])
for i in range(100):
print(myList[i])
if i + 5 < len(myList):
print(myList[i+5])
if i - 5 >= 0:
print(myList[i-5])
for i in range(100):
print(myList[i])
print(myList[(i + 5) % len(myList)])
print(myList[(i - 5) % len(myList)])
您还可以定义“安全”打印功能:
编辑:在您的澄清之后,我将我的回答修改为循环回答
def safe_print(mylist, myindex):
print mylist[myindex % len(mylist)]
myList=range(100)
for i in range(100):
safe_print(myList, i)
safe_print(myList, i+5)
safe_print(myList, i-5)
从
5
开始,在长度-5之前结束?我应该把这一点说得更清楚。我用这个游戏循环最后一个像素和开始像素,所以我希望能够将索引移到列表末尾,然后重新开始。谢谢。这正是我需要的。@user2592835酷:)如果你觉得我的答案对你有帮助,你可以。