1. 程式人生 > >python數據類型之可hash,不可hash

python數據類型之可hash,不可hash

相關 size 加速 圖片 散列 ref 來源 效率 height

可變類型的數據不可哈希,如list,字典:同值不同址,不同值同址 列表,字典可變, 技術分享圖片

數值、字母、字符串、數字、元組不可變:同值同址,不同值不同址 技術分享圖片

技術分享圖片

怎麽判斷可變不可變 ? 總結:改個值 看id是不是一樣,id一樣的為可變,則不可哈希, 改了值,id變化,則為不可變,則可哈希 哈希概念: Hash,一般翻譯做“散列”,也有直接音譯為“哈希”的,就是把任意長度的輸入(又叫做預映射, pre-image),通過散列算法,變換成固定長度的輸出,該輸出就是散列值。這種轉換是一種壓縮映射,也就是,散列值的空間通常遠小於輸入的空間,不同的輸入可能會散列成相同的輸出,所以不可能從散列值來確定唯一的輸入值。簡單的說就是一種將任意長度的消息壓縮到某一固定長度的消息摘要
的函數。
哈希算法: 哈希算法是用來解決數據和數據之間對應關系的一種算法。它的初衷是用來加速數據存取。
計算機領域內的大多數查找算法都與存儲數據的規模呈正相關,用於衡量查找算法效率的量我們稱為平均查找長度,一般情況下,比較優秀的查找算法的平均查找長度也不會短於數據規模以2為底的對數(技術分享圖片)。 鏈接:https://www.zhihu.com/question/20820286/answer/16288950
來源:知乎

python數據類型之可hash,不可hash