【问题标题】:merge two arrays with index in one array and values in another perl [duplicate]合并两个数组,索引在一个数组中,值在另一个perl中[重复]
【发布时间】:2015-02-21 00:44:02
【问题描述】:

如何以关联方式将两个数组合并在一起;一个数组有键列名,另一个数组有值?

我试图将一个数组推到另一个数组上,只将它们附加为一个列表,而不是将它们关联在一起。任何帮助将不胜感激。谢谢!

my @var1 = {'COL1', 'COL2', 'COL3'};
my @var2 = {  '1' ,  '2'  , '3'   };

...

new array %var3 = {'COL1' => '1', 'COL2' => '2', 'COL3' => '3'} 

【问题讨论】:

    标签: arrays perl merge key associative


    【解决方案1】:

    使用哈希切片:

    my %var3;
    @var3{ @var1 } = @var2;
    

    【讨论】:

    • 谢谢,效果很好!
    • @LuisBerumen 如果上述答案解决了您的问题,您应该接受答案,如果有任何其他信息或替代解决方案,那么您可以与其他成员分享。
    【解决方案2】:

    首先是一些cmets。数组使用简单的括号 ()

    你可以用散列片构造散列:

    my @keys = ('COL1', 'COL2', 'COL3');
    my @values = ( '1' , '2' , '3' );
    
    my %hash ;
    @hash{@keys} = @values ;
    

    这给出了你想要的哈希值。

    【讨论】:

      猜你喜欢
      • 2014-06-19
      • 2021-05-07
      • 1970-01-01
      • 2020-06-11
      • 2017-03-22
      • 2013-06-11
      相关资源
      最近更新 更多