我正在尝试实现一个方法,其中列表的每个元素都得到了与参数说的一样多:
def rgen (n):
for elem in list:
yield elem
Run Code Online (Sandbox Code Playgroud)
当我调用rgen(2)时,我想将该列表的每个元素两次等等.但是我怎么能实现它呢?
Jon*_*nts 10
循环再次:
def rgen (n):
for elem in list:
for times in xrange(n):
yield elem
Run Code Online (Sandbox Code Playgroud)
我可能会写一个类似于的辅助函数:
from itertools import chain, repeat
def repeated(iterable, n=1):
items = chain.from_iterable(repeat(item, n) for item in iterable)
for item in items:
yield item
# Or, in Python3.3 you could do:
yield from items
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
136 次 |
| 最近记录: |