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
  • 阅读 ( 3464 )
  • 分类:perl

0 条评论

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

348 篇文章

作家榜 »

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