perl hash 常見用法
基本用法
# 初始化 %h為空陣列
%h = {};
# 用陣列初始化%h為 a=>1, b=>2
%h = ('a', 1, 'b', 2);
# 意義同上,只是另一種更形象化的寫法。
%h = ('a'=>1, 'b'=>2);
.得到hash的所有鍵值
# 得到所有keys,順序取決於hash函式,或者說是亂序
@all_keys = keys %h;
# 所有鍵值,是按hash的值從大往小排列的。值的比較是數字比較(比如說,10>9)
@all_keys = sort<=>$h} (keys %h);
# 所有鍵值,是按hash的值從小往大排列的。值的比較是數字比較
@all_keys = sort<=>$h} (keys %h);
# 所有鍵值,是按hash的值從小往大排列的。值的比較是字串比較
#(比如說,『10』 < 『9』)
@all_keys = sort cmp $h} (keys %h);
判斷hash是否包含key
exists($h);
hash的長度
想要知道乙個hash有多少,常見的方法是得到包含所有鍵值的陣列。這個陣列的長度就是hash的長度:<
遍歷乙個hash中所有的
.while (my ($k, $v) = each %h)
reference
$h_ref = /%h; # 獲得乙個hash的reference
%ahash = %;# 把hash reference當成hash用
$value = $h_ref-> # 這個和%h是一樣的
例項:有乙份使用者名稱列表,儲存了 10000 個使用者名稱,沒有重複項;
還有乙份黑名單列表,儲存了 2000 個使用者名稱,格式與使用者名稱列表相同;
現在需要從使用者名稱列表中刪除處在黑名單裡的使用者名稱,要求用盡量快的時間處理。
#!/usr/bin/perl
for(my $i = 0; $i < @arrayn; ++$i) }}
兩層迴圈的話要執行10000*2000次
#!/usr/bin/perl
my %arrayhash;
for(my $i = 0; $i < @arrayn; ++$i)
= 1;
}for(my $i = 0; $i < @arraym; ++$i))}
現在只需執行10000+2000次
perl hash 常見用法
初始化 h為空陣列 h 用陣列初始化 h為 a 1,b 2 h a 1 b 2 意義同上,只是另一種更形象化的寫法。h a 1,b 2 如果key是字串,可以省略引號。下面這行和上面那行是一樣的 h a 1,b 2 用 來訪問 print h n 列印1 h 2b print h n 列印2b 刪除...
Perl Hash用法之入門教程
本文和大家重點討論一下perl hash的用法,雜湊是一種資料結構,和陣列類似,但是,和陣列不同的是,其索引不是數字,而是名字。也就是說,索引 這裡,我們將它叫key 不是數字而是任意的唯一的字串。雜湊是一種資料結構,和陣列類似,可以將值存放到其中,或者從中取回值。但是,和陣列不同的是,其索引不是數...
mysql 常見用法 mysql常見用法
檢視慢日誌 show variables like slow query log show variables like long query time 設定慢日誌記錄什麼樣的sql,預設10s log queries not using indexes 未使用索引的查詢也被記錄到慢查詢日誌中,一般...