我正在努力创建一个函数,它会在列表中提供下一个项目并循环显示它。我的列表是范围20.每次调用我的函数时,我应该得到该范围内的一个项目,随后的调用应该给我下一个项目+ 1.这是我的开始。
from itertools import cycle
def give_me_next(self, *args):
my_list = range(20)
saved = []
# give me next item
答案 0 :(得分:1)
如果您有一个随机的列表'你可以使用这个数字:
list=[1,2,5,8,6,78,965,57,5]
b=iter(list)
try:
while True:
print b.next()
except:
pass
答案 1 :(得分:0)
这是我的方法,虽然它可以更优雅。
def give_me_next(lst):
iterlst = iter(lst)
return (iterlst.next(),lst[1:])
lst = range(20)
(x,lst) = give_me_next(lst)
print x # 0
(x,lst) = give_me_next(lst)
print x # 1
(x,lst) = give_me_next(lst)
print x # 2
答案 2 :(得分:0)
也许是发电机?
def next_item(my_list):
index = 0
while True:
yield my_list[index%len(my_list)]
index +=1
x = next_item([1,2,3])
for _ in range(100):
print next(x)