van*_*die 2 perl merge list map
我在Perl中有这样的代码:
#!/usr/bin/perl -w
my @a = ('one', 'two', 'three');
my @b = (1, 2, 3);
Run Code Online (Sandbox Code Playgroud)
我想在结果中看到:@c = ('one1', 'two2', 'three3');
我有没有办法将这些列表合并为一个?
假设您可以保证两个数组的长度始终相同.
my @c = map { "$a[$_]$b[$_]" } 0 .. $#a;
Run Code Online (Sandbox Code Playgroud)
作为替代方案,您可以使用pairwise从List::MoreUtils:
#!/usr/bin/env perl
use strict;
use warnings;
use List::MoreUtils qw( pairwise );
my @a = ( 'one', 'two', 'three' );
my @b = ( 1, 2, 3 );
my @c = do {
no warnings 'once';
pairwise { "$a$b" } @a, @b;
};
Run Code Online (Sandbox Code Playgroud)