回答
你真的應該學習Perl - 當你自己學習Perl時,它真的很有趣。
這是真的那麼簡單:
my %rev;
foreach my $key (keys %hash) {
$rev{$hash{$key}} = $key;
}
我不想交換值和鍵。我只是想要像這樣\ n%\ n%hash =( 7 =>'h' 4 =>'g', 1 =>'a', ); – Anon30 2013-02-18 10:58:38
這是不可能的。 Perl中的哈希不是按照定義排序的。順便說一下,這段代碼相當於嵌入式的「反向」功能。 – mvp 2013-02-18 11:00:56
@WaseemShaikh您無法對散列進行排序。或者說,您可以對其鍵和值進行排序,但不能在散列本身中存儲排序順序。如果您想按特定順序輸入密鑰,請使用數組。例如。 '我的@ = qw(7 4 1)'。 – TLP 2013-02-18 11:20:50
TIMTOWTDI:
my %a = (foo => 1, bar => 2); # original hash
my @a = %a; # copy to array
my @rev; # reversed list container
push @rev, pop @a while @a; # fill @rev from the back forward
my %rev = @rev; # assign reversed list to hash
TIMTOWTDI II:
my %rev =
map {$hash{$_} => $_}
keys %hash;
my %by_letter;
@by_letter{ values(%by_num) } = keys(%by_num);
或
my %by_letter = map { $by_num{$_} => $_ } keys(%by_num);
- 1. MD5在不使用VBA的情況下在excel中的散列函數
- 2. 在不使用內置函數的情況下在Python中列表切片?
- 3. 在不使用內置COUNT(*)函數的情況下執行COUNT
- 4. 在不使用內置函數的情況下在字符串中反轉字符
- 5. 如何在PHP中記錄內置函數的使用情況?
- 6. 如何在不使用內置函數的情況下預測KNN分類器
- 7. 在不使用內置函數的情況下亂序python列表
- 8. 如何在不調用構造函數的情況下反序列化類?
- 9. 如何在不使用任何Java內置函數的情況下將數字轉換爲字符數組
- 10. 如何在不使用方法的情況下在js中反轉字符串
- 11. 如何在不使用命令行的情況下轉儲SQLite數據庫的內容,但在Perl代碼中?
- 12. 如何在不使用任何內置python函數的情況下將str更改爲int並反之亦然?
- 13. 如何在不使用python中的內置函數的情況下找到列表中的最大值?
- 14. 如何在列相關的情況下使用Apply函數?
- 15. 如何在不使用glRotateF內置函數的情況下旋轉關於JOGL中Z軸的圖像
- 16. 如何在不使用內置函數的情況下翻轉一個句子中的單詞
- 17. 在不使用陣列的情況下反轉數字的程序
- 18. 在不使用三角函數的情況下旋轉矢量
- 19. 如何避免在這種情況下反覆調用函數?
- 20. 如何在不使用dom的情況下測試Sass函數?
- 21. 在不使用內置函數的情況下讀取字符串的長度?
- 22. 如何在不使用REVERSE()函數的情況下反轉Oracle(11g)SQL中的字符串
- 23. 如何在不使用X11轉發的情況下使用gnuplot?
- 24. 如何在不使用Python庫函數的情況下將「String」轉換爲「Int」
- 25. 如何在以下情況下使用Matlab的princomp函數?
- 26. 如何在Solaris上監視Perl中的內存使用情況?
- 27. 如何在不使用std lib函數的情況下打印某些內容?
- 28. 如何在不使用com的情況下在perl中調用C++ dll?
- 29. 如何在不使用bind()的情況下爲另一個函數內部的函數設置「this」值?
- 30. 使用遞歸在不使用字符串的情況下反轉整數
自己寫作業。 – nothrow 2013-02-18 09:54:18
爲什麼這個奇怪的限制? – Zaid 2013-02-18 09:54:40
你想如何處理重複值?例如。如果'1 =>'a''和'11 =>'a'',那麼只有其中一個將成爲一個鍵,例如, ''a'=> 11' – TLP 2013-02-18 10:06:12