添加到每个值后添加列表到自身

时间:2017-07-12 10:26:52

标签: python list list-comprehension

我有一个遵循特定模式的整数列表,它很复杂,但例如说:

x = [0,2,4,6,8]

我希望用自己的9个副本扩展列表,但添加一个每次线性缩放的常量值。例如。如果

constant = 10
loop = 9

然后第二次延期将导致:

x_new = [0,2,4,6,8,10,12,14,16,18]

所以我想我想要一个遍历x的循环并将数组扩展x[i]+constantloop次?

for i in range(loop):
    for j in range(len(x)):
        x_new = x.extend((x[j]+constant)*i)

或许这可以通过列表理解轻松完成?我的实际列表是~3000长,我将使用不同的loopconstant值进行几次。

2 个答案:

答案 0 :(得分:4)

是的,列表理解应该有效:

x_new = [ e + constant * i for i in range(loop+1) for e in x ]

答案 1 :(得分:0)

我刚刚就上述问题做了一些工作,这段代码可以用于上述问题。

x=[0,2,4,6,8]
y=x[4]
i=0
j=0
while(i<9):
    z=range(y+2,y+12,2)
    x.extend(z)
    print x
    y=y+10
    i=i+1