配列内の重複を取り除く – Perl

  • このエントリーをはてなブックマークに追加
  • LINEで送る
この記事は 2007年3月6日 に書かれたものです

配列内の同じ値を取り除きたい。ハッシュを利用すればかんたんに実現できる。

- Sponsored Link -

サンプル

;#
;#配列の重複を取り除く
;#

#-- 初期化する --#
@array = (
      '東京', '大阪', '広島', '京都', '東京'
    , '広島', '横浜', '大阪', '京都', '島根'
);

#-- 重複削除 --#
@uniq = uniqArray(\@array);

#-- 表示 --#
foreach my $value ( @uniq ){
    print "$value\n";
}

#------------------------------#
#配列(リスト)から重複を取り除く
#------------------------------#
sub uniqArray{
    my $array = shift;
    my %hash  = ();

    foreach my $value ( @$array ){
        $hash{$value} = 1;
    }

    return(
        keys %hash
    );
}

実行結果

島根
京都
横浜
東京
広島
大阪

コメント

感想やご質問などお気軽にどうぞ。広告が表示されている場合は下にスクロールしてください。投稿にはSNSへのログインが必要です。

このブログを応援する

お寄せいただいたお気持ちは全額サーバ代や次の記事を執筆するための原資として活用させていただいております。この記事が参考になった場合などぜひご検討ください。

PayPal(ペイパル)
PayPalで300円支払う
※金額は任意で変更できます。
※100円でも泣いて喜びますw
※住所の入力欄が現れた場合は「no needed」を選択ください
これまでのご協力者さま
- Sponsored Link -