Re: [問題] 將hash key相對稱的value相加

看板Perl作者 (小a)時間15年前 (2010/05/25 19:54), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《adu (^_^)》之銘言: : 請問版大們 : 現在我有一個hash長這個樣子 : LM: 0.166666666666667 : MM: 0.333333333333333 : LL: 0.333333333333333 : ML: 0.166666666666667 : 如果要if(key==reverse key){則value相加}該怎麼做? : 這個例子當中就是因為LM==reverse ML : 所以結果會變成 : MM: 0.333333333333333 : LL: 0.333333333333333 : ML: 0.333333333333333 (ML或是LM都不拘) : 謝謝版大 #!/usr/bin/perl $DATA{(/^(.+?):/)[0]}=(/:\s*(.+?)$/)[0] for(<DATA>); print "\n======= DATA =======\n"; print "$_ $DATA{$_}\n" for(keys %DATA); foreach $p (keys %DATA) { $q=reverse $p; if($p ne $q and defined $DATA{$q}) { $DATA{$p}=$DATA{$p}+$DATA{$q}; delete $DATA{$q}; } } print "\n====== RESULT ======\n"; print "$_ $DATA{$_}\n" for(keys %DATA); __DATA__ LM: 0.166666666666667 MM: 0.333333333333333 LL: 0.333333333333333 ML: 0.166666666666667 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.170.66

05/26 13:41, , 1F
再次受到g大指導了m(__ __)m 原來reverse可以辦到!
05/26 13:41, 1F

05/26 18:38, , 2F
不用客氣 ~ 寫程式很好玩
05/26 18:38, 2F
文章代碼(AID): #1B-xfQXG (Perl)
討論串 (同標題文章)
文章代碼(AID): #1B-xfQXG (Perl)