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

0 条评论

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

328 篇文章

作家榜 »

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