導航:首頁 > 源碼編譯 > pythonhash演算法

pythonhash演算法

發布時間:2025-04-09 05:21:02

1. 在python中,為什麼字典的鍵值不可以更改

要回答這個問題,首先明白一個概念:

哈希(Hash)

Hash,一般翻譯做"散列",也有直接音譯為"哈希"的,就是把任意長度的輸入(又叫做預映射, pre-image),通過散列演算法,變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是,散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,所以不可能從散列值來唯一的確定輸入值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要的函數。

所有散列函數都有如下一個基本特性:如果兩個散列值是不相同的(根據同一函數),那麼這兩個散列值的原始輸入也是不相同的。這個特性是散列函數具有確定性的結果。但另一方面,散列函數的輸入和輸出不是一一對應的,如果兩個散列值相同,兩個輸入值很可能是相同的,但並不能絕對肯定二者一定相等。輸入一些數據計算出散列值,然後部分改變輸入值,一個具有強混淆特性的散列函數會產生一個完全不同的散列值。

回到字典key問題,python的dict的key必須是唯一的,所以,其必須是一個可哈希的值,才能保證得到唯一的內存地址。在python里,字元串,數字,元組都是不可變對象,也是可哈希的值。

閱讀全文

與pythonhash演算法相關的資料

熱點內容
程序員放棄後會怎樣 瀏覽:159
河北模具編程 瀏覽:177
adb查找命令 瀏覽:308
安卓手機視頻文件夾怎麼打開 瀏覽:302
平板加密手機後怎麼關閉 瀏覽:556
流媒體伺服器應該注意什麼 瀏覽:526
d8命令編譯 瀏覽:942
壓縮包解壓需要多少空間 瀏覽:138
如何查找app屬性 瀏覽:380
android人臉識別技術 瀏覽:304
pc104編程 瀏覽:328
二維碼反編譯破解推廣 瀏覽:673
修改伺服器的mac地址 瀏覽:520
好玩的編程軟體 瀏覽:891
編程語言創始人有錢嗎 瀏覽:796
短視頻app怎麼獲客 瀏覽:8
查看雲伺服器的應用 瀏覽:427
javadump工具 瀏覽:558
程序員16g 瀏覽:421
程序員沒有辦法成為top怎麼辦 瀏覽:196