我有以下陣列,我需要映射@array2
和@array3
的輸出到密鑰@array1
在散列結構。如何將一個數組作爲key和其他多個數組作爲hashmap perl中的值?
@array1 = ('a', 'b', 'c');
@array2 = (1, 2, 3);
@array3 = ('j', 'k', 'l');
預期輸出:
a => [1, 'j']
b => [2, 'k']
c => [3, 'l']
我有以下陣列,我需要映射@array2
和@array3
的輸出到密鑰@array1
在散列結構。如何將一個數組作爲key和其他多個數組作爲hashmap perl中的值?
@array1 = ('a', 'b', 'c');
@array2 = (1, 2, 3);
@array3 = ('j', 'k', 'l');
預期輸出:
a => [1, 'j']
b => [2, 'k']
c => [3, 'l']
循環在第一陣列的每個索引和推你想要到目標是什麼。請注意,%hash
的值需要列表-參考號。
$ cat ./foo.pl
#! /usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
my @array1 = ("a", "b", "c");
my @array2 = (1, 2, 3);
my @array3 = ("j", "k", "l");
my %hash;
for(my $i = 0; $i < scalar(@array1); $i++){
push(@{$hash{$array1[$i]}}, $array2[$i], $array3[$i]);
}
print Dumper(\%hash);
$ ./foo.pl
$VAR1 = {
'c' => [
3,
'l'
],
'a' => [
1,
'j'
],
'b' => [
2,
'k'
]
};
注意事項,以供將來參考,這是很重要的,以顯示SO社區,你已經做出了一些努力學習,這解決自己(具體爲向我們展示你已經嘗試了什麼)。很可能,由於您完全沒有這樣做,這個問題將由版主來完成。
它不給我a => 1,j但給我a => 2,l? – user2448541
@neylan它是關於給出正確的答案,因爲我試圖用參考推送元素,它不像我沒有嘗試過。 – user2448541
我的觀點並不是你沒有嘗試,而是你沒有*顯示*我們已經嘗試過。顯示你的代碼下次無法使用。 –
http://perldoc.perl.org/perldsc.html – toolic
請問你能給我一個例子,因爲我沒有得到它嗎? – user2448541