精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Perl關聯數組用法集錦

開發 架構
Perl語言中Perl關聯數組的概念你是否了解,這里向大家分享一下,重點介紹Perl關聯數組的創建方法以及數組中元素的增刪改等操作。

本文和大家重點討論一下Perl關聯數組的概念,創建Perl關聯數組,從數組變量復制到Perl關聯數組,元素的增刪,用Perl關聯數組循環等內容,相信通過本文的學習你對Perl關聯數組的用法一定會有深刻的認識。

Perl關聯數組

一、創建Perl關聯數組

可以用單個賦值語句創建Perl關聯數組,如:
%fruit=("apples",17,"bananas",9,"oranges","none");
此語句創建的Perl關聯數組含有下面三個元素:

◆下標為apples的元素,值為17
◆下標為bananas的元素,值為9
◆下標為oranges的元素,值為none
注:用列表給Perl關聯數組賦值時,Perl5允許使用"=>"或","來分隔下標與值,用"=>"可讀性更好些,上面語句等效于:
%fruit=("apples"=>17,"bananas"=>9,"oranges"=>"none");

二、從數組變量復制到Perl關聯數組

與列表一樣,也可以通過數組變量創建Perl關聯數組,當然,其元素數目應該為偶數,如:
@fruit=("apples",17,"bananas",9,"oranges","none");
%fruit=@fruit;
反之,可以把Perl關聯數組賦給數組變量,如:
%fruit=("grapes",11,"lemons",27);
@fruit=%fruit;

注意,此語句中元素次序未定義,那么數組變量@fruit可能為("grapes",11,"lemons",27)或("lemons",27,"grapes",11)。
Perl關聯數組變量之間可以直接賦值,如:%fruit2=%fruit1;還可以把數組變量同時賦給一些簡單變量和一個Perl關聯數組變量,如:
($var1,$var2,%myarray)=@list;
此語句把@list的第一個元素賦給$var1,第二個賦給$var2,其余的賦給%myarray。

最后,Perl關聯數組可以通過返回值為列表的內嵌函數或用戶定義的子程序來創建,下例中把split()函數的返回值--一個列表--賦給一個Perl關聯數組變量。
 

  1. 1:#!/usr/local/bin/perl  
  2. 2:  
  3. 3:$inputline=;  
  4. 4:$inputline=~s/^\s+|\s+\n$//g;  
  5. 5:%fruit=split(/\s+/,$inputline);  
  6. 6:print("Numberofbananas:$fruit{\"bananas\"}\n");  

運行結果如下:
oranges5apples7bananas11cherries6
Numberofbananas:11

三、元素的增刪

增加元素已經講過,可以通過給一個未出現過的元素賦值來向Perl關聯數組中增加新元素,如$fruit{"lime"}=1;創建下標為lime、值為1的新元素。
刪除元素的方法是用內嵌函數delete,如欲刪除上述元素,則:
delete($fruit{"lime"});

注意:
1、一定要使用delete函數來刪除Perl關聯數組的元素,這是唯一的方法。
2、一定不要對Perl關聯數組使用內嵌函數push、pop、shift及splice,因為其元素位置是隨機的。

四、列出數組的索引和值

上面已經提到,keys()函數返回Perl關聯數組下標的列表,如:

  1. %fruit=("apples",9,  
  2. "bananas",23,  
  3. "cherries",11);  
  4. @fruitsubs=keys(%fruits);  
  5.  

 這里,@fruitsubs被賦給apples、bananas、cherries構成的列表,再次提請注意,此列表沒有次序,若想按字母順序排列,可使用sort()函數。
@fruitindexes=sortkeys(%fruits);
這樣結果為("apples","bananas","cherries")。類似的,內嵌函數values()返回Perl關聯數組值的列表,如:
%fruit=("apples",9,
"bananas",23,
"cherries",11);
@fruitvalues=values(%fruits);
這里,@fruitvalues可能的結果為(9,23.11),次序可能不同。

五、用Perl關聯數組循環

前面已經出現過利用keys()函數的foreach循環語句,這種循環效率比較低,因為每返回一個下標,還得再去尋找其值,如:
foreach$holder(keys(%records)){
$record=$records{$holder};
}
Perl提供一種更有效的循環方式,使用內嵌函數each(),如:
%records=("Maris",61,"Aaron",755,"Young",511);
while(($holder,$record)=each(%records)){
#stuffgoeshere
}
each()函數每次返回一個雙元素的列表,其第一個元素為下標,第二個元素為相應的值,最后返回一個空列表。
注意:千萬不要在each()循環中添加或刪除元素,否則會產生不可預料的后果。

六、用Perl關聯數組創建數據結構

用Perl關聯數組可以模擬在其它高級語言中常見的多種數據結構,本節講述如何用之實現:鏈表、結構和樹。

1、(單)鏈表

鏈表是一種比較簡單的數據結構,可以按一定的次序存貯值。每個元素含有兩個域,一個是值,一個是引用(或稱指針),指向鏈表中下一個元素。一個特殊的頭指針指向鏈表的第一個元素。
在Perl中,鏈表很容易用Perl關聯數組實現,因為一個元素的值可以作為下一個元素的索引。下例為按字母順序排列的單詞鏈表:

  1. %words=("abel","baker",  
  2. "baker","charlie",  
  3. "charlie","delta",  
  4. "delta","");  
  5. $header="abel";  
  6.  

 下標為delta的最后一個元素的值為空串,表示鏈表的結束。在將要處理的數據個數未知或其隨程序運行而增長的情況下,鏈表十分有用。
此程序分為三個部分:

◆主程序:讀取輸入并轉換到相應的格式。
◆子程序:add_word_to_list,建立排序單詞鏈表。
◆子程序:print_list,輸出單詞鏈表

第3~17行為主程序,第4行初始化鏈表,將表頭變量$header設為空串,第5行起的循環每次讀取一行輸入,第7行去掉頭、尾的空格,第8行將句子分割成單詞。9~15行的內循環每次處理一個單詞,如果該單詞的最后一個字符是標點符號,就去掉。第13行把單詞轉換成全小寫形式,第14行傳遞給子程序add_word_to_list。
子程序add_word_to_list先在第24行處檢查鏈表是否為空。如果是,第25行將單詞賦給$header,26行創建鏈表第一個元素,存貯在Perl關聯數組%wordlist中。如果鏈表非空,37行檢查第一個元素是否與該單詞相同,如果相同,就立刻返回。下一步檢查這一新單詞是否應該為鏈表第一個元素,即其按字母順序先于$header。
如果是這樣,則:

1、創建一個新元素,下標為該新單詞,其值為原第一個單詞。
2、該新單詞賦給$header。

如果該新單詞不該為第一個元素,則40~44行利用局域變量$pointer尋找其合適的有效位置,41~44行循環到$wordlist{$pointer}大于或等于$word為止。接下來46行查看該單詞是否已在鏈表中,如果在就返回,否則47~48行將其添加到鏈表中。首先47行創建新元素$wordlist{$word},其值為$wordlist{$pointer},這時$wordlist{$word}和$wordlist{$pointer}指向同一個單詞。然后,48行將$wordlist{$pointer}的值賦為$word,即將$wordlist{$pointer}指向剛創建的新元素$wordlist{$word}。

最后當處理完畢后,子程序print_list()依次輸出鏈表,局域變量$pointer含有正在輸出的值,$wordlist{$pointer}為下一個要輸出的值。
注:一般不需要用鏈表來做這些工作,用sort()和keys()在Perl關聯數組中循環就足夠了,如:
foreach$word(sortkeys(%wordlist)){
#printthesortedlist,orwhatever}
但是,這里涉及的指針的概念在其它數據結構中很有意義。
 

【編輯推薦】 

  1. Perl關聯數組用法詳解
  2. Perl文件句柄概念詳解
  3. 實例解析Perl守護進程用法
  4. Perl模式匹配經驗總結
  5. 術語匯編 Perl變量中Perl關聯數組用法解析

 

 

責任編輯:佚名 來源: csdn.net
相關推薦

2010-07-16 10:20:46

Perl關聯數組

2010-07-13 09:58:51

Perl關聯數組

2010-07-19 09:28:37

Perl關聯數組

2010-07-16 10:38:24

Perl關聯數組

2010-07-19 15:31:10

Perl關聯數組函數

2010-07-26 13:54:01

Perl開發工具

2010-07-19 15:07:46

Perl字符串處理函數

2009-11-24 19:40:07

PHP關聯數組查詢結果

2009-11-17 17:07:01

PHP關聯數組

2010-07-19 16:25:06

Perl數組

2010-07-21 13:59:59

Perl引用

2010-07-20 15:02:20

Perl數組

2009-11-24 19:25:32

PHP關聯數組

2010-12-15 09:10:01

PHP關聯數組

2010-07-20 13:02:08

Perl數組

2010-07-19 13:06:13

Perl二維數組

2010-07-21 09:10:02

Perl常見問題

2010-07-16 13:50:53

Perl哈希表

2010-07-13 16:20:21

Perl 哈希表

2010-07-21 13:53:07

Perl引用
點贊
收藏

51CTO技術棧公眾號

99精品视频免费| 国产精品一区二区中文字幕| 中文字幕在线观看不卡| 91精品入口蜜桃| 国产成人在线观看网站| 欧美精品色图| 日韩女优电影在线观看| 精品中文字幕av| 黄色小网站在线观看| 北条麻妃国产九九精品视频| 国产精品久久久久久久久久尿| 天天操天天操天天操天天操天天操| 国内露脸中年夫妇交换精品| 欧美亚洲高清一区二区三区不卡| 国产片侵犯亲女视频播放| 免费成人av电影| 国产成人午夜精品影院观看视频 | 精品福利影视| 国产精品久久无码一三区| 日韩午夜精品| 欧美成人激情图片网| 小早川怜子久久精品中文字幕| 日韩精品一级| 欧美日韩成人综合在线一区二区| 久久久久久久中文| dy888亚洲精品一区二区三区| 国产欧美日本一区二区三区| 精品乱码一区| 丰满少妇高潮在线观看| 久久99久久99| 国产精品盗摄久久久| 国产污污视频在线观看| 欧美精品97| 精品国内亚洲在观看18黄| 久久亚洲AV无码专区成人国产| 豆花视频一区二区| 日韩久久久精品| 亚洲女人在线观看| 成人国产精品入口免费视频| 色噜噜狠狠成人网p站| 欧美一区二区中文字幕| 激情网站在线| 亚洲自拍偷拍图区| 精品一区二区三区无码视频| 菠萝菠萝蜜在线视频免费观看 | 亚洲精品美女久久7777777| 青青草免费在线| 97成人超碰视| 精品国产一区二区三区麻豆免费观看完整版 | 91精品国产综合久久香蕉最新版 | xxxxx在线观看| 青青草原在线亚洲| 亚洲精品美女在线观看| 国产又粗又猛又色| 欧美a一欧美| 亚洲精品av在线播放| av电影在线播放| 韩国精品福利一区二区三区| 欧美videos大乳护士334| 在线观看欧美一区二区| 99久久香蕉| 亚洲成人在线视频播放| 2一3sex性hd| 欧洲亚洲一区二区三区| 亚洲精品一区二区在线| 在线小视频你懂的| 欧美性感美女一区二区| 在线成人激情黄色| 色婷婷粉嫩av| 欧美欧美全黄| 97国产精品视频人人做人人爱| 日韩黄色在线视频| 免费精品视频| 国产精品丝袜白浆摸在线| 中文在线观看av| 九一九一国产精品| 99热国产免费| 日韩精品一二| 国产精品无人区| 潘金莲一级淫片aaaaa免费看| 2021国产在线| 精品福利在线看| 大香煮伊手机一区| 91成人在线网站| 精品久久久久久久人人人人传媒| 北京富婆泄欲对白| 视频一区中文| 久热国产精品视频| 亚欧视频在线观看| 日本欧美一区二区三区| 4444kk亚洲人成电影在线| 色婷婷综合视频| 国产免费观看久久| 欧美日韩中文字幕在线播放| 黄色软件视频在线观看| 欧美三级日本三级少妇99| 色男人天堂av| 免费短视频成人日韩| 久久久精品一区二区三区| 日本一级黄色录像| 美国十次了思思久久精品导航| 51成人做爰www免费看网站| 日本私人网站在线观看| 亚洲天堂2014| 日本精品一区二区三区四区 | 3d成人h动漫网站入口| 在线看黄色的网站| 欧美成人自拍| 97在线视频免费看| 一区二区美女视频| 91丨porny丨户外露出| 五月天综合婷婷| 在线天堂资源| 日韩视频中午一区| 99精品全国免费观看| 欧美午夜在线视频| 国产欧美最新羞羞视频在线观看| 日本xxxx人| 亚洲欧美日韩国产中文在线| 欧美aⅴ在线观看| av毛片精品| www日韩中文字幕在线看| 国产成人在线视频观看| 国产99一区视频免费| 亚洲视频欧美在线| 欧美特大特白屁股xxxx| 亚洲国产精品高清久久久| 国产精品丝袜一区二区| 国产美女一区| 国产在线欧美日韩| jizz一区二区三区| 日韩午夜激情av| 日本精品在线免费观看| 日韩国产欧美一区二区三区| 精品视频一区二区| sm在线观看| 精品国产伦一区二区三区观看体验| 人人妻人人澡人人爽| 亚洲综合国产激情另类一区| 国产不卡一区二区三区在线观看| 日本高清视频在线播放| 欧美三级视频在线观看 | 亚洲猫色日本管| 亚洲欧美在线精品| 国产欧美亚洲精品a| 欧美在线视频播放| 亚洲人妻一区二区三区| 亚洲成国产人片在线观看| 国产无套精品一区二区三区| 欧美精品九九| 俄罗斯精品一区二区| 在线你懂的视频| 欧美成人高清电影在线| 精品爆乳一区二区三区无码av| 国产一区在线精品| 欧美大片免费播放| 视频一区在线| 国模视频一区二区| 亚洲欧美日韩免费| 色综合视频一区二区三区高清| 老司机福利av| 男人的天堂亚洲| 日本在线成人一区二区| 999国产精品亚洲77777| 最近中文字幕日韩精品| 中文字幕一区二区三区人妻四季| 国产精品色眯眯| 亚洲天堂av一区二区三区| 中文字幕免费一区二区| 国产福利久久| 国产无遮挡裸体视频在线观看| 亚洲精品一区二区三区婷婷月| 精品视频一二三区| 中文字幕一区二区三中文字幕| 一级日本黄色片| 亚洲福利电影| 日韩不卡av| 精品一区二区三区四区五区| 高清欧美一区二区三区| 美女毛片在线看| 欧美乱妇15p| 国产性一乱一性一伧一色| 99re在线精品| 亚洲欧美自拍另类日韩| 欧美二区视频| 蜜桃传媒一区二区| gogo大尺度成人免费视频| 久久久久久久久久久av| 国产小视频在线观看| 91精品国产免费| 免费观看一区二区三区毛片| 欧美高清在线视频| 亚洲成年人在线观看| 久久久精品午夜少妇| 99热都是精品| 亚洲欧美成人vr| 91丝袜美腿美女视频网站| 欧美freesex黑人又粗又大| 色老头一区二区三区| 欧美一级在线免费观看| 欧美日韩视频在线一区二区| 国产一级黄色av| 日本一区二区三区dvd视频在线| 四川一级毛毛片| 久久久精品性| 男人天堂a在线| 97国产精品| 欧美精品中文字幕一区二区| 国产日韩中文在线中文字幕| 欧美在线激情网| 日本电影在线观看| 色悠悠国产精品| 深夜福利在线视频| 欧美xxxx老人做受| 91麻豆成人精品国产| 欧美日韩中文字幕综合视频| 国产1区2区3区4区| 欧美激情一区二区三区不卡| 韩国三级hd两男一女| 国产原创一区二区| 一道本在线免费视频| 亚洲主播在线| 妞干网视频在线观看| 欧美r级电影| 日韩国产精品一区二区三区| 欧美天堂影院| 国产精华一区| 日韩在线观看一区二区三区| 国产精品高潮呻吟久久av野狼| 欧美理论电影| 久久国产精品久久精品| av片在线免费观看| 国产午夜精品一区理论片飘花| 婷婷在线观看视频| 精品国产91洋老外米糕| 国产精品主播一区二区| 欧美手机在线视频| 中文字幕免费高清网站| 日韩欧美在线一区| 4438国产精品一区二区| 欧美日韩精品国产| 日韩成人免费观看| 无码av免费一区二区三区试看| 欧美精品入口蜜桃| 一区二区日韩电影| 黄色一级片在线| 亚洲激情五月婷婷| 久久久久久久黄色| 亚洲午夜免费电影| 日本少妇做爰全过程毛片| 亚洲成a人片在线不卡一二三区| 精品99久久久久成人网站免费| 一区二区三区资源| 久久久久久久久久久网| 亚洲线精品一区二区三区八戒| 久久这里只有精品免费| 亚洲一区二区三区三| 国产真实的和子乱拍在线观看| 亚洲国产综合人成综合网站| 久久精品这里有| 精品久久久久久久久久久久久| 国产 欧美 日韩 在线| 狠狠躁天天躁日日躁欧美| 99久久精品国产亚洲| 91国产视频在线观看| 国产精品露脸视频| 91麻豆精品国产91久久久久久久久| 国产精品无码天天爽视频| 日韩欧美亚洲国产另类| 日韩一级片免费看| 亚洲欧美国产高清va在线播| 国产高清一级毛片在线不卡| 精品国产一区二区三区久久| 污视频在线看网站| 日本韩国在线不卡| 亚洲ww精品| 国产在线一区二区三区欧美| 亚洲盗摄视频| www.午夜色| 亚洲人人精品| 亚洲色图久久久| 国产精品一区二区在线播放| www国产视频| 中文字幕免费在线观看视频一区| 欧美一级片在线视频| 亚洲.国产.中文慕字在线| 婷婷激情五月综合| 日韩午夜在线观看| 国产黄在线播放| 久久国产精品久久久| 亚洲最大网站| 成人欧美一区二区三区在线湿哒哒| 日韩一区网站| 亚洲高清123| 亚洲成人资源| 粉色视频免费看| 国产+成+人+亚洲欧洲自线| 男人操女人动态图| 亚洲永久精品国产| 国产乱码在线观看| 亚洲福利精品在线| 麻豆传媒视频在线| 欧美又大又硬又粗bbbbb| 成人污污视频| 人禽交欧美网站免费| 亚洲欧美亚洲| 中文字幕天天干| 97久久超碰精品国产| 激情视频在线播放| 欧美日韩国产精选| 欧美老女人性开放| 欧美日韩国产成人在线| 成人影院在线免费观看| 精品在线视频一区二区| 欧美1区视频| 高清av免费看| 国产亚洲精品福利| 国产一区二区三区影院| 91麻豆精品国产91| www 日韩| 日本一区二区不卡| 国产精品玖玖玖在线资源| 中文字幕日韩精品久久| 久久中文欧美| 中出视频在线观看| 亚洲不卡一区二区三区| av综合在线观看| 精品国产一区二区三区久久久狼| 国产精品专区免费| 久久av免费观看| 亚洲国产精品一区制服丝袜| 宇都宫紫苑在线播放| 亚洲女子a中天字幕| 中文字幕永久免费视频| 亚洲午夜小视频| 亚洲日本天堂| 久久国产日韩欧美| 国产精品毛片| 9.1成人看片| 粉嫩av一区二区三区免费野| 成人小说亚洲一区二区三区| 久久6精品影院| 日韩高清一区| 国产传媒久久久| 丰满放荡岳乱妇91ww| 九九热视频精品| 日韩女优av电影在线观看| a天堂中文在线官网在线| 亚洲aaa激情| 欧美91视频| 四虎永久免费观看| 亚洲成人激情综合网| 天堂av资源网| 国产91对白在线播放| 亚洲人成网www| 日日碰狠狠丁香久燥| 国产欧美一区二区精品忘忧草| 毛片在线免费播放| 久久精品国产成人精品| 国产精品亚洲综合在线观看| 亚洲小视频在线播放| 国产精品456| 日韩美女视频网站| 亚洲无线码在线一区观看| 99久久亚洲国产日韩美女| 亚洲午夜激情| 国产精品一区二区果冻传媒| 国产一级久久久| 亚洲视频999| 99tv成人影院| 欧美中日韩在线| 久久免费国产精品| 中文字幕网址在线| 欧美精品做受xxx性少妇| 岛国精品一区| 日韩av在线综合| 亚洲欧洲www| 天天干天天舔天天射| 国产精品aaaa| 亚洲理论电影网| 亚洲图片综合网| 91久久线看在观草草青青| 日本在线免费播放| 国产精品99久久久久久久| 媚黑女一区二区| 日韩欧美123区| 日韩精品视频免费专区在线播放| 国产精品亚洲d| 国产女教师bbwbbwbbw| 91麻豆视频网站| 国产精品女同一区二区| 欧美极品少妇与黑人| 国产精品免费不| 中文字幕在线视频一区二区| 岛国精品视频在线播放| 免费在线观看av网站| 鲁鲁狠狠狠7777一区二区| 狠狠色丁香婷综合久久| www日韩精品| 久久精品国产亚洲|