给定一个迭代器i,我想要一个迭代器,它产生每个元素的n次数,即相当于这个函数
def duplicate(i, n):
    for x in i:
        for k in range(n):
            yield x
这有一个单行吗?
相关问题:复制列表中的每个成员 -  python,但zip解决方案在这里不起作用.
如果您想要同时复制每个元素,这是我的简单解决方案.它返回一个生成器表达式,它应该是内存有效的.
def duplicate(i, n):
    return (k for k in i for j in range(n))
一个示例用法可能是,
print (list(duplicate(range(1, 10), 3)))
哪个印刷品,
[1,1,1,2,2,3,3,3,4,4,5,5,5,6,6,6,7,7,7,8,8,8,9,9 ,9,9]