perl中一次遍历多个列表

perl中一次遍历多个列表

一般我们同时遍历多个相关的列表时,往往用数组下标遍历:

my @a = ( ... ); 
my @b = ( ... );
my @c; 
foreach my $i ( 0 .. $#a) {    
my ( $a, $b ) = ( $a[$i], $b[$i] );
push @c, $a + $b; 

其实还可以这样:

use List::MoreUtils qw(pairwise);
my @c = pairwise { $a + $b } @a, @b; 

pairwise只适合两个列表,三个列表这样做:

use List::MoreUtils qw(each_array);
my $ea = each_array( @a, @b, @c );
my @d; 
while ( my ( $a, $b, $c ) = $ea->() ) { 
push @d, $a+$b+$c; 
  • 发表于 2018-09-21 14:49
  • 阅读 ( 3528 )
  • 分类:perl

0 条评论

请先 登录 后评论
安生水
安生水

351 篇文章

作家榜 »

  1. omicsgene 702 文章
  2. 安生水 351 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. rzx 78 文章
  7. 红橙子 78 文章
  8. CORNERSTONE 72 文章