中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何利用Perl哈希表建立鍵

發布時間:2021-12-07 09:15:12 來源:億速云 閱讀:200 作者:小新 欄目:開發技術

小編給大家分享一下如何利用Perl哈希表建立鍵,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Perl基礎:利用Perl哈希表建立鍵-值數據映射

Perl的數據結構中最有趣的一個特性是Perl哈希表(hash),它使得在數據片段之間建立鍵—值(key-value)關聯成為可能。雖然這些Perl哈希表要遠遠比普通系統中以數字索引的數組用途更廣,但是往往也會使初學者不知所措。這就是要寫本篇文章的原因所在——它將告訴你如何創建Perl哈希表,如何插入、刪除要素,以及如何創建嵌套PerlPerl哈希表和利用循環來處理Perl哈希表。

定義Perl哈希表

首先,什么是Perl哈希表?從本質上來說,它是以字符串索引的數組。也就是說,你要使用字符串標簽而不用數字來存取各個元素。下面是一個例子:

列表A

#!/usr/bin/Perl   #definehash  %alphabet=('a'=>'apple',  'b'=>'ball',  'c'=>'cat',  'x'=>'xylophone');

上面的幾行用四對鍵—值關聯建立了一組PerlPerl哈希表。可以注意到,變量名前面的符號%表示它是一個Perl哈希表,箭頭用來指出鍵—值關系。

你也可以這樣寫代碼:

列表B

#!/usr/bin/Perl   #definehash  %alphabet=('a','apple','b','ball','c','cat','x','xylophone');

在定義了一個Perl哈希表以后,你就可以用定義后的名稱對獨立的要素進行存取。例如,看下面的代碼:

列表C

#!/usr/bin/Perl   #definehash  %alphabet=('a','apple','b','ball','c','cat','x','xylophone');   #accesshashvalue  print"Aisfor".$alphabet;

輸出結果為:

Aisforapple.

要清除Perl哈希表,只需簡單地把它賦值于一個空的數據集,就像下面的例子:

列表D

#!/usr/bin/Perl   #(re)initializehash  %alphabet=();

插入、改變和刪除Perl哈希表元素

你可以在一個Perl哈希表中插入一個新元素(或者更改一個現有的Perl哈希表),只需要給與之相對應的鍵設置一個新的數值就行了。如果這個鍵不存在,它將會被創建。下面是一個例子:

列表E

#!/usr/bin/Perl   #definehash  %alphabet=('a','apple','b','ball','c','cat','x','xylophone');   #addnewelement  $alphabet='dog';   #changeexistingelement  $alphabet='arrow';   #accesshashvalue  print"Aisfor".$alphabet;

你可以用delete()函數刪除一對鍵—值對,就像下面這樣:

列表F

#!/usr/bin/Perl   #definehash  %alphabet=('a','apple','b','ball','c','cat','x','xylophone');   #deleteelement  delete$alphabet;

檢索鍵和數值

如果你覺得一個Perl哈希表的鍵和數值有用,需要進一步處理,Perl允許將其提取到單獨的數據結構中。你可以用函數keys()將一個Perl哈希表的鍵返回成為一個數字索引的數組。下面是一個例子:

列表G

#!/bin/Perl   #definehash  %alphabet=('a'=>'apple','b'=>'bat','c'=>'cat');   #getandprinthashkeys  @keyskeys=keys(%alphabet);  print"@keys";

或者,你可以用函數values()獲得一個具有Perl哈希表值的數組,如下:

列表H

#!/bin/Perl   #definehash  %alphabet=('a'=>'apple','b'=>'bat','c'=>'cat');   #getandprinthashvalues  @vals=values(%alphabet);  print"@v";

計算Perl哈希表的大小

計算Perl哈希表大小的最簡單方法就是用上述的keys()函數,將Perl哈希表中的鍵提取到一個數組中,然后檢索得到數組的大小,操作方法如下:

列表I

#!/bin/Perl   #definehash  %alphabet=('a'=>'apple','b'=>'bat','c'=>'cat');   #printnumberofhashelements  print"Thehashhas".scalar(keys(%alphabet))."elements";

 處理Perl哈希表元素

運用while()循環處理一個Perl哈希表中的所有元素也比較容易。下面是一個簡單的例子:

列表J

#!/usr/bin/Perl   #definehash  %alphabet=('a','apple','b','ball','c','cat','x','xylophone');   #loopoverhash  while(($key,$value)=each(%alphabet)){  print"$keyisfor$value";  }

或者,用前面已經討論過的for()循環和keys()函數:

列表K

#!/usr/bin/Perl   #definehash  %alphabet=('a','apple','b','ball','c','cat','x','xylophone');   #loopoverhash  for$k(keys(%alphabet)){  print$k."isfor".$hash."";  }

運用嵌套的Perl哈希表

Perl也允許在一個Perl哈希表(或數組)中再嵌入一個Perl哈希表(或數組)。這樣就為構建長而復雜的數據結構提供了很大的靈活性,下面是一個例子:

列表L

#!/usr/bin/Perl   %movies=(  'black'=>{'hero'=>'Batman','villain'=>'ThePenguin'},  'red'=>[{'hero'=>'Spiderman','villain'=>'GreenGoblin'},  {'hero'=>'Superman','villain'=>'LexLuthor'}]  );   #retrieveandprintvalues  print$movies."fights".$movies."";   print$movies[1]."fights".$movies[1]."";

該代碼返回的結果是:

BatmanfightsThePenguin
SupermanfightsLexLuthor

以上是“如何利用Perl哈希表建立鍵”這篇文章的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

济源市| 印江| 牙克石市| 台南市| 石城县| 罗定市| 卓尼县| 奇台县| 临夏县| 临湘市| 凌源市| 三原县| 利津县| 雅安市| 阳泉市| 韶关市| 陇南市| 肥东县| 新源县| 大厂| 阿拉善左旗| 桂林市| 宾阳县| 屏山县| 兰州市| 遂平县| 平潭县| 怀仁县| 宝鸡市| 临湘市| 集贤县| 碌曲县| 濮阳市| 南皮县| 西畴县| 乐昌市| 西城区| 清丰县| 靖州| 安图县| 攀枝花市|