重复列表元素n次
问题内容:
如何重复列表中的每个元素一次n
并形成一个新列表?例如:
x = [1,2,3,4]
n = 3
x1 = [1,1,1,2,2,2,3,3,3,4,4,4]
x * n
不起作用
for i in x[i]:
x1 = n * x[i]
必须有一个简单而明智的方法。
问题答案:
如果您确实希望将结果作为列表,并且生成器不足:
import itertools
lst = range(1,5)
list(itertools.chain.from_iterable(itertools.repeat(x, 3) for x in lst))
Out[8]: [1, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4]