Python 获取列表中的下一项。在结尾回到开头
我想在列表中找到下一个元素。在列表的末尾,转到start并获取索引为0的元素。 所以它在无限循环中运行Python 获取列表中的下一项。在结尾回到开头,python,Python,我想在列表中找到下一个元素。在列表的末尾,转到start并获取索引为0的元素。 所以它在无限循环中运行 my_list = [5, 1, 2, 7, 9, 10] # all values are unique while True: for item in my_list: current_item = my_list[my_list.index(item)] try: next_item = my_list[my_list.i
my_list = [5, 1, 2, 7, 9, 10] # all values are unique
while True:
for item in my_list:
current_item = my_list[my_list.index(item)]
try:
next_item = my_list[my_list.index(item) + 1]
except IndexError:
next_item = my_list[0]
print (current_item, next_item)
不用try/except就能完成吗?也可以这样做
l = [5, 1, 2, 7, 9, 10]
curIndex = 0
l_len = len(l)
while True:
if curIndex >= l_len:
curIndex = curIndex - l_len
print(l[curIndex])
curIndex += 1```
如果您想永远循环这些项目,您可以这样轻松地完成:
mylist = [5, 1, 2, 7, 9, 10]
while True:
for (i,x) in enumerate(mylist):
ci = x
ni = mylist[(i+1)%len(mylist)]
print(ci,ni)
对。例如,您可以使用len来执行此操作,但@ThePilotDude是正确的 我的清单=[5,1,2,7,9,10] 尽管如此: 对于0范围内的i,lenmy_list:Loop 1-my_list的长度 当前_项=我的_列表[i] 如果i+1
my_list = [5, 1, 2, 7, 9, 10]
while True:
for index,current in enumerate(my_list):
next_index = (index+1)%len(my_list)
next_item=my_list[next_index]
print (current, next_item)
由于while循环,它将持续无限次。它可以是这样的。如果你想在一个列表上反复迭代,在到达末尾时循环回到第一项,请使用itertools.cycle。这将很有效,而且已经很短了。我不认为有任何需要改变它,我建议保持这样,请解释用例。您可以删除for循环并使用手动计数器,然后使用当前计数器的值索引到列表中,如果计数器大于列表的长度,则重置计数器。这也将使获得下一个元素变得容易。。。
my_list = [5, 1, 2, 7, 9, 10]
for item in range(len(my_list)):
if(item == len(my_list) - 1):
break
current_item = my_list[item]
next_item = my_list[item+1]
print (current_item, next_item)