加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

数组 – Swift:如何将数组乘以数组(Math:vector by vector)

发布时间:2020-12-14 05:43:50 所属栏目:百科 来源:网络整理
导读:我需要将数组乘以另一个数组,就像数学中的向量一样. 例如.: A = [1,2,3,4] B = [2,4,5] C = A * B = [2,6,12,20] 我甚至无法弄清楚代码,我已经尝试逐个元素,但这对我来说似乎是一个解决方案,任何想法? (我是swift的初学者) “压缩”两个数组会产生一系列元
我需要将数组乘以另一个数组,就像数学中的向量一样.

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

我甚至无法弄清楚代码,我已经尝试逐个元素,但这对我来说似乎是一个解决方案,任何想法? (我是swift的初学者)

“压缩”两个数组会产生一系列元组(a_i,b_i)
然后可以按元素倍增:
let A = [1,4]
let B = [2,5]

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

print(C) // [2,20]

(如果数组的长度不同,则zip会无声地忽略较长数组的额外元素.)

正如@appzYourLife正确地说的那样,你也可以传递乘法
operator直接作为map的参数而不是闭包表达式:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读