h5頁面 Python如何哈希字符串?
Python如何哈希字符串?Python中字符串是可哈希的,即可以作為字典的鍵或者HashTable的鍵使用。您可以這樣子使用Python內(nèi)置函數(shù)hash(散列函數(shù)):您也可以將字符串轉(zhuǎn)為一個集合:總
Python如何哈希字符串?
Python中字符串是可哈希的,即可以作為字典的鍵或者HashTable的鍵使用。
您可以這樣子使用Python內(nèi)置函數(shù)hash(散列函數(shù)):
您也可以將字符串轉(zhuǎn)為一個集合:
總之,Python里面有很多內(nèi)置的hash功能性數(shù)據(jù)結(jié)構(gòu)和函數(shù)。
Python為什么list不能作為字典的key?
字典里的key有一個原則,必須可哈希(有個內(nèi)置函數(shù)hash()可以檢測是否支持可哈希),因為字典查找數(shù)據(jù)是通過哈希算法得到的,比元組,列表等的數(shù)組類型快很多,這本來也是字典的特性,字典里的key和value一一對應(yīng)的。而字典查找用的就是key,那么key就必須支持哈希算法,也就是前面說的可哈希。列表,是一個可變對象,支持原處修改。你想字典里存的數(shù)據(jù),要通過key查找,如果key是一個可變對象,上一次查找的是這樣,這一次查找key變了,就不能通過key查找value(前面說過,字典里的key和value是一一對應(yīng)),成了另一個數(shù)據(jù),但還是它自己,這就不符合規(guī)則啊,value也就無法查找出來了。所以這就是列表不能作為字典的key原因。