gpt4 book ai didi

ruby - 使用 Ruby 按位置添加二维数组中所有元素的最清晰方法是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:34:54 26 4
gpt4 key购买 nike

在 Ruby 中按位置添加二维数组中所有元素的最清晰和最有效的方法是什么。示例:

2darray = [[1,2,3],[1,2,3]]
result = [2,4,6]

我有以下代码

def sum_elements_by_position(array)
total_elements = array.length
result = []

for i in 0...array.first.length
n = 0
array.each { |subarray| n += subarray[i] }
result << n
end
result
end

假设:所有主要元素的长度都相同

对于奖励积分,很高兴看到一个解决方案适用于任意长度的主要元素

最佳答案

您可以压缩第一行和其余行,然后求和:

def sum_elements_by_position(array)
array[0].zip(*array[1..-1]).map do |col|
col.inject(:+)
end
end

关于ruby - 使用 Ruby 按位置添加二维数组中所有元素的最清晰方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13924460/

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