说我有这个名单:如何增加和填充python列表的大小?
[1,2,3,4]
,我想:
[1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4]
什么是这样做的最佳方式?
我目前的方法是创建一个新的列表:
x = [1,2,3,4]
y = [[n]*4 for n in x]
这给:
[[1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]]
这似乎接近,但没有雪茄......谁能帮助?
这种简单性很难击败(+1) – NPE 2013-03-14 15:10:42
+1。我最喜欢这个,但是如果我要使用itertools解决方案,我会使用'itertools.repeat':'[n2 for n in x for n2 in repeat(n,4)]''。 – 2013-03-14 15:20:11
另一个'itertools'解决方案:'list(chain(* izip(* repeat(x,4))))',但现在我们正在陷入一些难以精神分析的东西。 – 2013-03-14 15:43:48