2008-02-27
reverse関数 - ハッシュのキーと値を入れ替える
ハッシュのキーと値を入れ替えるにはreverseを使用します。
my %hash_r = reverse %hash;
サンプル
reverse関数を使ってハッシュのキーと値を入れ替えるサンプルです。
use strict; use warnings; use Data::Dumper; my %x_to_y = ( 'x1' => 'y1', 'x2' => 'y2', 'x3' => 'y3', ); print "元のハッシュ\n"; print Data::Dumper->Dump( [ \%x_to_y ],[ '*x_to_y' ] ); print "\n"; # 1: ハッシュのキーと値を入れ替える。 # ハッシュに対して,reverse関数を用いる。 my %y_to_x = reverse %x_to_y; print "1: ハッシュのキーと値を入れ替える\n"; print Data::Dumper->Dump( [ \%y_to_x ], [ '*y_to_x' ] );
実行結果
元のハッシュ %x_to_y = ( 'x3' => 'y3', 'x2' => 'y2', 'x1' => 'y1' ); 1: ハッシュのキーと値を入れ替える %y_to_x = ( 'y1' => 'x1', 'y3' => 'x3', 'y2' => 'x2' );
解説
ハッシュのキーと値を入れ替える。
my %y_to_x = reverse %x_to_y;
ハッシュに対して,reverse関数を用います。キーと値が一対一に対応していない場合は、入れ替えは、保障されません。
トラックバック - http://d.hatena.ne.jp/perlcodesample/20080227/1204130762
リンク元
- 86 http://www.perlcodesample.com/perltut/tocsimple.html
- 50 https://www.google.co.jp/
- 44 http://74.125.153.132/search?q=cache:llcIUErK9ZcJ:d.hatena.ne.jp/perlcodesample/20080226/1204032972+perl+chomp&cd=2&hl=ja&ct=clnk&gl=jp&lr=lang_ja&client=firefox-a
- 40 http://www.google.co.jp/search?hl=ja&client=firefox-a&rls=org.mozilla:ja:official&q=perl+キー 取得&btnG=検索&lr=lang_ja
- 36 http://72.14.235.132/search?q=cache:llcIUErK9ZcJ:d.hatena.ne.jp/perlcodesample/20080226/1204032972+perl+改行 削除+print&hl=ja&ct=clnk&cd=1&gl=jp&lr=lang_ja&client=firefox-a
- 36 http://www.google.co.jp/search?sourceid=navclient&hl=ja&ie=UTF-8&rlz=1T4IBMA_ja___JP208&q=指定位置 置換
- 29 http://www.google.co.jp/search?q=perl+ハッシュ+キーと値の入れ替え&lr=lang_ja&ie=utf-8&oe=utf-8&aq=t&rls=org.mozilla:ja:official&client=firefox
- 28 http://www.google.co.jp/search?hl=ja&q=perl+ハッシュ 値 初期化&lr=
- 18 http://www.google.co.jp/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&sqi=2&ved=0CC0QFjAA&url=http://d.hatena.ne.jp/perlcodesample/20080227/1204130762&ei=gsE-UZ2RB8nKmgXtv4HgCQ&usg=AFQjCNH0TxzUb27TzK96_CEoMKVgSCNlJQ&bvm=bv.43287494,d.dGY
- 17 http://search.yahoo.co.jp/search?p=Perl+reverse&ei=UTF-8&fr=top_ga1&x=wrt