我有数组,使用数组需要创建 perl 哈希。示例:@array =(1,2,3,4,5,6) 哈希应该是 1->2->3->4->6。请帮助任何身体
问问题
88 次
2 回答
2
你可以,
my @array =(1,2,3,4,5,6);
my %hash = @array;
这将产生类似的哈希1=>2, 3=>4, 5=>6
,并且
my %hash = map { ($array[$_]) x (1+ ($_ && $_< $#array)) } 0 .. $#array;
会产生类似的哈希1=>2, 2=>3, 3=>4, 4=>5, 5=>6
于 2013-11-05T18:53:06.720 回答
1
- 如果你想创建
%hash=(1=>2,3=>4,5=>6)
mpapec 的答案是正确的。 如果要创建
%hash=(1=>1,2=>2,3=>3,4=>4,5=>5,6=>6)
,可以执行以下操作:my @array=(1,2,3,4,5,6); my %hash; for (@array) { $hash{$_}=$_ }
如果您不想关心值,只关心键,您可以执行以下操作:
my @array=(1,2,3,4,5,6); my %hash; @hash{@array}=1; #will produce %hash=(1=>1,2=>undef,3=>undef,4=>undef,5=>undef,6=>undef)
于 2013-11-05T19:06:46.190 回答