【问题标题】:Add an item to a list multiple times with list comprehension [duplicate]使用列表理解将项目多次添加到列表中[重复]
【发布时间】:2020-08-24 14:31:36
【问题描述】:

我正在按以下方式列出清单:

lst = ['val1', 'val2', 'val3']

output = [item for it in lst]

...但是,我想在列表中添加任意数量的每个项目,而不仅仅是一个。

像这样(如果我想每次向列表中添加 3 个元素):

output = [item*3 for item in lst]

...如果lst 看起来像这样:

['val1', 'val2', 'val3']

...output 看起来像这样:

['val1', 'val1', 'val1', 'val2', 'val2', 'val2'...]

我怎样才能做到这一点?

【问题讨论】:

    标签: python python-3.x


    【解决方案1】:

    像这样(显然,您必须更改代码以满足您的需要):

    lst = ['val1', 'val2', 'val3']
    
    output = [i for i in lst for x in range(3)]
    
    print(output)
    

    输出(格式化):

    [
      'val1', 'val1', 'val1',
      'val2', 'val2', 'val2',
      'val3', 'val3', 'val3'
    ]
    

    将 3 更改为您希望项目重复的次数。

    【讨论】:

      【解决方案2】:

      只遍历 n x 列表怎么样?

      li = ['val1', 'val2', 'val3']
      n=3
      print(sorted([el for el in li*n]))
      

      输出:

      ['val1', 'val1', 'val1', 'val2', 'val2', 'val2', 'val3', 'val3', 'val3']
      

      【讨论】:

        猜你喜欢
        • 2015-06-24
        • 1970-01-01
        • 2016-10-29
        • 2011-01-31
        • 1970-01-01
        • 1970-01-01
        • 2020-08-04
        • 2021-08-17
        相关资源
        最近更新 更多