我有一个数组[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()
循环或其他循环。
答案 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;
}
?