复制列表中的元素

发布于 2021-01-29 15:04:23

说我有这个

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)

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

关注者
0
被浏览
81
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    我的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]
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看