arrays - perl一次添加多个数组

标签 arrays perl sum

我有大约 50 个用数字填充的数组,我必须为每个数组报告所有这些元素的总和,因此最终结果有 50 个单独数组的总和。

除了为每个数组编写不同的 for 循环之外,还有什么更短的方法吗?

我是 perl 的初学者。任何有用的意见/建议将不胜感激。

到目前为止,这是我的代码:

for( $j = 1 ; $j <= 50 ; $j++ ) {
  for ( @arr[$j] ) {
    $sum[$j] += $_;
  }
  print $sum[$j];
}

谢谢!

最佳答案

您可以使用 List::Utilmap ,假设您有一个数组数组:

use strict;
use warnings;
use Data::Dumper; 
use List::Util qw(sum);

my @arrays = (
    [1,2,3],
    [4,5,6],
    [7,8,9]
); 
my @sums   = map sum(@$_), @arrays;   # sum each array
print Dumper \@sums;

输出:

$VAR1 = [
          '6',       # sum of $arrays[0]
          '15',      #                1
          '24'       #                2
        ];

关于arrays - perl一次添加多个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11347884/

相关文章:

Mysql distinct 与 sum

loops - SAS:对除一个以外的所有值求和

javascript将一个对象推送到数组对象但其他对象受到影响

python - math.fsum 用于多维数组

perl - Perl 模块 autodie 和 Fatal 有什么区别?

perl - 无法运行 cgi,仅显示纯文本 (Ubuntu 13.10 Apache 2.4)

java - 为什么我的 GPA 方法在传递正确的参数后无法正确计算?

php - 如何在 PHP 中向空数组添加元素?

java - 启动 JVM 进行内联

python - 如何检查 float 列表的总和是否为整数?