我有一个list
和一个iterator
,它们包含相同的数据。我有列表,以便可以使用random.choice
返回随机元素。我已经使用itertools.cycle(listname)
方法从列表中进行了迭代,以便可以使用round-robin
类型的访问元素。
我该如何结合这两个功能,使我应该能够访问元素列表randomly
,并获得round-robin
这种访问方式,只保留一个副本而不是数据而不是两个副本(列表和迭代器)?
代码:
import random
import itertools
list_name = [1,2,3,4,5,6,7]
list_name_iterator = itertools.cycle(list_name)
def return_random():
return random.choice(list_name)
def return_round_robin():
return next(list_name_iterator)
或者如何在random.choice()
上应用iterator
?