【问题标题】:Repetition in Python for each element of list列表中每个元素在 Python 中的重复
【发布时间】:2016-07-17 14:46:47
【问题描述】:

我有一个列表a = [3,7,4]

我想生成从列表的每个元素生成的序列的列表重复,如下所示:

b = [1,1,1,2,2,2,2,2,2,2,3,3,3,3]

【问题讨论】:

  • b=[] for i in a: b.extend([i]*(i))

标签: python list for-loop


【解决方案1】:

像这样试试。

result = []
for i,j in enumerate(a):
    result += [i+1 for n in range(j)]

结果

[1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3]

【讨论】:

  • 我们通常会等着看提问者自己想出什么,然后再把答案扔给他们。
  • @DeepSpace 对不起。我没有多想。
  • @DeepSpace 现在看到了你的评论,这很有道理。 (y)
  • 我没有这样做@RahulKP。我非常感谢您的回答。另外,我现在没有任何投票权。
  • @YasinKÜTÜK 酷。
【解决方案2】:

输入:

a = [3,7,4]
b = [x for x in range(len(a)+1)[1::] for j in range(a[x-1])]

结果:

[1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3]

【讨论】:

    猜你喜欢
    • 2015-01-17
    • 1970-01-01
    • 2014-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-12
    • 1970-01-01
    • 2013-10-29
    相关资源
    最近更新 更多