我如何创建一个函数来调用列表中的下一个项目并循环它?

时间:2015-01-27 15:05:13

标签: python

我正在努力创建一个函数,它会在列表中提供下一个项目并循环显示它。我的列表是范围20.每次调用我的函数时,我应该得到该范围内的一个项目,随后的调用应该给我下一个项目+ 1.这是我的开始。

from itertools import cycle

def give_me_next(self, *args):
    my_list = range(20)
    saved = []
    # give me next item

3 个答案:

答案 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)