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