如何在旧数组成员之间插入空白或不插入

时间:2019-07-06 16:03:48

标签: python arrays list

我有一个数组[1,2,3],所以我需要填写一些空白或之间没有任何值。

例如示例中的[1,2,3][1,0,0,0,0,0,2,0,0,0,0,0,3,0,0,0,0,0],我需要在旧成员之间插入5个没有值。 (零数字代表空白或无值。)

那么我应该如何编码才能做到这一点呢?用append()循环或其他循环。

4 个答案:

答案 0 :(得分:2)

您可以利用分配给切片的方法:

lst = [1,2,3]

newlst = [0] * len(lst) * 6
newlst[::6] = lst

print(newlst)

打印:

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

答案 1 :(得分:1)

代码如下:

x = [1,2,3]
y = []
for i in x:
    y.append(i)
    y.extend([0]*5)

首先,它会附加x本身的元素,然后会添加您指定的0(将数字5替换为所需的数量)。

结果:

>>> y
[1, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0]

答案 2 :(得分:0)

此函数使用list和要在其之间添加的0的数量。

尝试一下

>>> def fill_n(arr,n):
    temp = []
    for el in arr:
        temp+=[el]+[0]*n
    return temp

输出:

>>> l = [1,2,3]
>>> fill_n(l,5)

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

答案 3 :(得分:0)

void Car::setMotor(Motor * m) {
    powerofcar = m->powerofmotor;
}