python - 如何增加和填充 python 列表的大小?

标签 python list

假设我有这个列表:

[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]]

哪个看起来很近但没有雪茄...有人可以帮忙吗?

最佳答案

>>> x = [1,2,3,4]
>>> [n for n in x for _ in range(4)]
    [1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4]

itertools.repeat 在语义上确实更清晰,谢谢,Steven:

from itertools import repeat
[repeated for value in x for repeated in repeat(value, 4)]

关于python - 如何增加和填充 python 列表的大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15412906/

相关文章:

python - 如何根据计算的索引显示循环列表

python - sigmoid激活函数可以用来解决Keras中的回归问题吗?

python - 使用输入函数从作业数组中选择一个值

list - Haskel - 列表 <*> 的实现

python - 重新定义导入函数的默认参数

list - 使用循环将 map 元素添加到列表

python - 将字典列表转换为字符串

python - 使用 OpenCV 或 Matplotlib/Pyplot 可视化 MNIST 数据集

python - sys.exit(0) 和 os._exit(0) 有什么区别

python - 为什么 PySpark 找不到 py4j.java_gateway?