gpt4 book ai didi

arrays - 在perl中合并数组以创建一个新数组

转载 作者:行者123 更新时间:2023-12-02 09:01:03 29 4
gpt4 key购买 nike

在 perl 中将两个数组(按列)合并为一个新的复合数组的方法是什么?

@array1

car
scooter
truck

@array2

four
two
six

我尝试使用以下内容:

my @merged = (@array1, @array2); print @merged;

但它将两个数组合并在一列中,如下所示:

car
scooter
truck
four
two
six

但我想要的是如下:

@merged[0] @merged[1] 
car four
scooter two
truck six

最佳答案

在 Perl 中,如果您将数组存储在列表中,它将自动展平为单个列表

my @array = (@ar1,@ar2);

如果你想存储为数组,你应该引用一个数组并将引用存储到另一个数组,例如

my @array = (\@ar1,\@ar2);

现在@array引用了@ar1@ar2

然后使用相应的数据类型来取消引用该引用

就你的情况

print @{$array[0]}; 

最后,您可以将以下内容用于您的案例

use warnings;
use strict;

my @array1 = qw(car scooter truck);
my @array2 = qw(four five six);

my @merged = (\@array1,\@array2); #referencing the array1 and array2

foreach my $i (0..$#{$merged[0]})
{
# getting the last index value using $#{$merged[0]}

printf ("%-10s%-10s\n",$merged[0][$i],$merged[1][$i]);


}

关于arrays - 在perl中合并数组以创建一个新数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48920868/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com