更新時間:2021-11-12 來源:黑馬程序員 瀏覽量:
數(shù)學(xué)中的集合是指具有某種特定性質(zhì)的對象匯總而成的集體,其中構(gòu)建集合的這些對象稱為該集合的元素。例如,成年人集合的每一個元素都是已滿18周歲的人。
通常用大寫字母如A、B、S……表示集合,用小寫字母如a、b、c……表示集合的元素。
集合中的元素具有3個特征,具體如下。
(1)確定性:給定一個集合,那么任何一個元素是否在集合中就確定了。例如,地球的四大洋構(gòu)成一個集合,其內(nèi)部的元素太平洋、大西洋、印度洋、北冰洋是確定的。
(2)互異性:集合中的元素互不相同。
(3)無序性:集合中的元素沒有順序,順序不同但元素相同的集合可視為同一集合。
Python集合與數(shù)學(xué)中的集合概念一致,也具備以上3個特性。Python要求放入集合中的元素必須是不可變類型,Python中的整型、浮點型、字符串類型和元組屬于不可變類型,列表、字典及集合本身都屬于可變的數(shù)據(jù)類型。對于所有的數(shù)據(jù)類型而言,它們只要能進(jìn)行哈希運算,就可以作為集合中的元素出現(xiàn)。
多學(xué)一招:哈希算法
哈希(hash,散列)算法是將任意長度的二進(jìn)制值映射為固定長度的較小二進(jìn)制值,這個小的二進(jìn)制值稱為哈希值。哈希值是原數(shù)據(jù)唯一且極其緊湊的數(shù)值表示形式,哪怕只更改原數(shù)據(jù)的一個字母,再次散列后產(chǎn)生的都是不同的值。若要找到散列為同一個值的兩個不同的輸入,在計算上是不可能的,所以數(shù)據(jù)的哈希值可以檢驗數(shù)據(jù)的完整性。