gpt4 book ai didi

arrays - 用 0 快速填充数组

转载 作者:行者123 更新时间:2023-11-28 12:43:28 26 4
gpt4 key购买 nike

<分区>

我试图用零填充一个数组,但找不到一种简洁的方法来快速完成此操作。如果我有数组 x = [1,2,3 ; 4,5,6; 7,8,9]在 matlab 中我可以使用命令

y = [zeros(1,3+2);zeros(3,1),x,zeros(3,1);zeros(1,3+2)]

给出所需的输出数组 [0,0,0,0,0; 0,1,2,3,0 ; 0,4,5,6,0 ; 0,7,8,9,0 ; 0,0,0,0,0]

但是到目前为止,在一个快速的 Playground 上,我只能单独引用每个元素以正确形成新数组。

到目前为止我尝试过的方法都是使用x作为输入,y作为输出,第一种类似于matlab,

var x = [[1,2,3,],[4,5,6],[7,8,9]]

var y = [[0,0,0,0,0],[0,x[0],0],[0,x[1],0],[0,x[2],0],[0,0,0,0,0]]

第二个是循环

for i in 0 ..< x.count + 1 {
if i == 0 || i == x.count - 1 {
y[i] = [0,0,0,0,0]
}
else{
y[i] = [0, x[i-1] ,0]
}
}

这不是在 Xcode Playground 预览中看起来像标准数组,而是给出的输出。

[[0, 0, 0, 0, 0], [0, […], 0], [0, 0, 0, 0, 0], [0, […], 0], [0, 0, 0, 0, 0]]

它也非常奇怪地打印到控制台,使用代码

for i in 0 ..< y.count {
print("\(y[i])")
}

输出是

(
0,
0,
0,
0,
0
)
(
0,
(
1,
2,
3
),
0
)
(
0,
0,
0,
0,
0
)
(
0,
(
7,
8,
9
),
0
)
(
0,
0,
0,
0,
0
)

与预期相反

[0, 0, 0, 0, 0]
[0, 1, 2, 3, 0]
[0, 4, 5, 6, 0]
[0, 7, 8, 9, 0]
[0, 0, 0, 0, 0]

执行此操作的最佳方法是什么?

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com