我很難理解Learn Python The Hard Way Ex39中的很多代碼。學習Python困難的方式Ex39,很難理解它的代碼
我的第一個混淆是關於作者爲什麼在這裏使用模塊劃分hash(key) % len(aMap)
。它返回什麼價值?爲什麼作者需要提醒?
def hash_key(aMap, key):
"""Given a key this will create a number and then convert it to an index for the aMap's buckets."""
return hash(key) % len(aMap)
第二個令人困惑的事情對我來說是下一個代碼
def get_bucket(aMap, key):
"""Given a key, find the bucket where it would go."""
bucket_id = hash_key(aMap, key)
return aMap[bucket_id]
在我的理解,bucket_id
應該等於hash(key) % len(aMap)
價值,爲什麼我們不返回aMap[hash(key)]
?
也許使用桶理解[哈希](https://en.wikipedia.org/wiki/Hash_table)的想法可能是有用的 – pazitos10