日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 综合教程 >内容正文

综合教程

perl 数组快速去除重复元素

發(fā)布時(shí)間:2023/12/29 综合教程 22 生活家
生活随笔 收集整理的這篇文章主要介紹了 perl 数组快速去除重复元素 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

這里記錄兩種perl數(shù)組去重的辦法,一種利用哈希(hash),一種直接利用perl自帶的模塊List::MoreUtils內(nèi)部的函數(shù)uniq。

一、利用hash去重

示例代碼如下:

  1 #!/usr/bin/perl -w
  2 use strict;
  3 
  4 my @list=qw /1 2 3 2 1 4 aa a bb c  b bb d/;
  5 foreach (@list){print "$_ ";}
  6 
  7 print "
###################
";
  8 my %ha;
  9 my @uniq=grep{++$ha{$_}<2}@list;
 10 foreach (@uniq){print "$_ ";}

基本原理是將原數(shù)組元素作為hash的key,遍歷計(jì)數(shù),grep函數(shù)篩選出只出現(xiàn)一次的key,放入新的數(shù)組@uniq中。

輸出結(jié)果:

  1 1 2 3 2 1 4 aa a bb c b bb d
  2 ###################
  3 1 2 3 4 aa a bb c b d
  4 

二、利用uniq函數(shù)去重

這個(gè)函數(shù)所在的模塊List::MoreUtils還有很多其他操作數(shù)組的用法,感興趣的可以看看,多了解下,這里附上參考網(wǎng)址:https://metacpan.org/pod/List::MoreUtils

示例代碼如下:

  1 #!/usr/bin/perl -w
  2 use strict;
  3 use List::MoreUtils ':all';
  4 
  5 my @list=qw /1 2 3 2 1 4 aa a bb c  b bb d/;
  6 foreach (@list){print "$_ ";}
  7 
  8 print "
###################
";
  9 my @uni=uniq(@list);
 10 foreach (@uni){print "$_ ";}
 11 

直接調(diào)用uniq()函數(shù)即可,輸出結(jié)果如下:

  1 1 2 3 2 1 4 aa a bb c b bb d
  2 ###################
  3 1 2 3 4 aa a bb c b d

作者:天使不設(shè)防
出處:https://www.cnblogs.com/mmtinfo/
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文連接,否則保留追究法律責(zé)任的權(quán)利.

總結(jié)

以上是生活随笔為你收集整理的perl 数组快速去除重复元素的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。