gpt4 book ai didi

ruby - 如何对二维数组求和

转载 作者:行者123 更新时间:2023-12-02 15:14:14 26 4
gpt4 key购买 nike

我有一个二维数组 = [[12,34,35,21],[10,14,23,17],...] 无穷大。

我想用 ruby​​ 做这个;

arr1 = [array[0][0]+array[1][0]+array[n+1][0]...,
array[0][1]+array[1][1]+array[n+1][1]...,
array[0][2]+array[1][2]+array[n+1][2]...,
array[0][3]+array[1][3]+array[n+1][3]...]

结果 (4x4)

arr1 = [[12+10+..],[34+14+..],[35+23..],[21+17+..]]

有什么想法吗?

最佳答案

您可以使用 Array#transpose ,然后对每个单独的数组求和

array = [[12,34,35,21],[10,14,23,17]]

array.transpose.map {|a| a.inject(:+) }
# => [22, 48, 58, 38]

如果您使用的是 Ruby 2.4 或更高版本,您可以使用 Array#sum方法

array.transpose.map(&:sum)
# => [22, 48, 58, 38]

对于一个或多个数组的输出,

array.transpose.map {|a| [a.sum] }
# => [[22], [48], [58], [38]]

关于ruby - 如何对二维数组求和,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41463258/

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