jason680 发表于 2016-09-11 13:25

本帖最后由 jason680 于 2016-09-11 13:27 编辑

回复 9# 华小飞_Perl

which one do you like ...

1. one hash only
my %all = (
      Gilligan=> { map {$_=>1} @gilligan},
      Skipper   => { map {$_=>1} @skipper   },
      Professor => { map {$_=>1} @professor },
);



2. modified some code ...
my %ch_all = map {
      my $person = $_;
      map { $person => { $_ => 1 } } @{ $all{$person} };
} sort keys %all;


      my $person = $_;
      $person => { map {$_=>1} @{$all{$person}} };

or combine together

      $_ => { map {$_=>1} @{$all{$_}} };


华小飞_Perl 发表于 2016-09-11 14:15

回复 11# jason680

大神就是大神,解决了,谢谢!

sunzhiguolu 发表于 2016-09-11 15:26

7 楼的代码我想说, 将列表转换成 hash 的过程中 key 值相同的情况下 后续的 "value" 会替换先前的哪些 "value". 与 "value" 的类型无关
zhlong8 版主解释的非常详细了.
Jason680 大神的代码简单高效, 的确很厉害!
页: 1 [2]
查看完整版本: 请教:map函数的使用出错!