小编典典

复制列表中的元素

python

说我有这个

b = 3
l = [1, 2]

我想修改l,以便每个元素出现与b一样多的次数。以便:

l = [1, 1, 1, 2, 2, 2]

我用这个:

for x in l:
  for m in range(b):
    l.append(x)

但这导致了无限循环。任何帮助,将不胜感激。我希望你们给出想法而不是给我代码。谢谢。


阅读 240

收藏
2021-01-20

共1个答案

小编典典

我的2美分:

实现此目的的另一种方法也是利用可以在Python中乘以列表的事实。

>>> l = [1, 2, 3]
>>> [1, 2, 3] * 3
[1, 2, 3, 1, 2, 3, 1, 2, 3]

对该sorted函数的简单调用可以对其进行排序:

>>> b = 3    
>>> l = [1, 2]
>>> sorted(l * b)
[1, 1, 1, 2, 2, 2]
2021-01-20