在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
6条答案
按热度按时间wlzqhblo1#
在Perl中,如果你将数组存储在列表中,它会自动展平为一个单个列表。
如果要存储为数组,则应创建一个对数组的引用,并将该引用存储为另一个数组,如
现在
@array
有@ar1
和@ar2
的引用。然后使用相应的数据类型取消引用该引用
就你的情况而言
最后,您可以使用以下内容来处理您的案例
oaxa6hgo2#
或
wtlkbnrh3#
但我想要的是如下:
我有两种解释。
或者像mkHun一样,作为两个数组引用的列表:
此时您可以执行以下操作:
或者作为交织元素的单个列表:
此时您可以执行以下操作:
参见
List::MoreUtils::zip
。zi8p0yeb4#
这将按要求进行:
nnsrf1az5#
试试这个:
ohtdti5x6#
根据示例数据判断,关联数组(哈希)可能是更合适的数据结构: