我有一个如下所示的嵌套列表:
[[1, 2, 3], [4, 5, 6], [7, 8, 9]]
我想将每个内部列表中的每个元素复制 3 份,并将它们并排放置:
[[1, 1, 1, 2, 2, 2, 3, 3, 3], [4, 4, 4, 5, 5, 5, 6, 6, 6], [7, 7, 7, 8, 8, 8, 9, 9, 9]]
这是我当前的解决方案:
from itertools import repeat
x2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
ls = []
for i in x2:
ls.append([x for item in i for x in repeat(item, 3)])
ls
>>> [[1, 1, 1, 2, 2, 2, 3, 3, 3],
[5, 5, 5, 6, 6, 6, 7, 7, 7],
[9, 9, 9, 10, 10, 10, 11, 11, 11],
[4, 4, 4, 8, 8, 8, 3, 3, 3]]
有什么办法可以让它更快吗?
最佳答案
这是一种解决方案:
ls=[sum([[i]*3 for i in k], []) for k in x2]
>>>print(ls)
[[1, 1, 1, 2, 2, 2, 3, 3, 3], [4, 4, 4, 5, 5, 5, 6, 6, 6], [7, 7, 7, 8, 8, 8, 9, 9, 9]]
关于python - 如何复制嵌套列表中的元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65234232/