タグ

ブックマーク / seizo-igawa.hatenablog.jp (1)

  • Perlで配列の重複要素の取出しと削除 - テクデップ(Techdep)

    Perlにおける配列値の重複や削除といった操作をするにはgrep関数を利用すれば良いけれども、書いては忘れ調べ直しを繰り返している。いい加減覚えるために、メモ書きとして以下に残す。 ある配列の重複する要素を排除するには以下の様に書く。 my %tmp; my @uniq = grep { $tmp{$_}++ < 1; } (@array); 逆に配列の重複した要素だけを取り出すには、grep関数を二回通す。 my (%tmp, %tmp2); my @not_uniq = grep { $tmp2{$_}++ < 1; } (grep { $tmp{$_}++ >= 1; } (@array)); foreachを利用しても上記処理が実現できるけれども、grepを使ったほうが簡潔に記述できる。 参考リンク Perlの組み込み関数 grep の翻訳 - perldoc.jp

    Perlで配列の重複要素の取出しと削除 - テクデップ(Techdep)
  • 1