gpt4 book ai didi

swift - 如何按元素相乘两个数组

转载 作者:IT王子 更新时间:2023-10-29 05:32:56 25 4
gpt4 key购买 nike

我需要将一个数组乘以另一个数组元素,就像数学中向量的 Hadamard 乘积一样。例如:

A = [1,2,3,4]
B = [2,3,4,5]
C = A*B = [2,6,12,20]

我什至无法弄清楚代码,我已经尝试逐个元素地这样做,但这对我来说似乎太困惑了,有什么想法吗?

最佳答案

“压缩”这两个数组给出了一个元组序列(a_i, b_i)然后可以按元素相乘:

let A = [1,2,3,4]
let B = [2,3,4,5]

let C = zip(A, B).map { $0 * $1 }

print(C) // [2, 6, 12, 20]

(如果数组的长度不同,则 zip 会自动忽略较长数组的额外元素。)

正如@appzYourLife 正确所说,您还可以通过乘法运算符直接作为 map 的参数而不是闭包表达式:

let C = zip(A, B).map(*)

关于swift - 如何按元素相乘两个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39724115/

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