之前有說到 Python 中的字符串、列表以及元組在很多方面上比較相似,很大程度是因?yàn)樗鼈兊臄?shù)據(jù)存儲(chǔ)是有序的米罚,也就是我們統(tǒng)稱的序列,這才能讓我們通過序號(hào)進(jìn)行數(shù)據(jù)的獲取丈探,就像下面這樣录择。
既然已經(jīng)有了個(gè)統(tǒng)稱,那么必然它們可以有相同的特性碗降,這里列舉了幾個(gè)常用的方法隘竭,針對(duì)有序序列都是通用的。
如圖可知這幾個(gè)方法的大體意思讼渊,在我們判斷一個(gè)元素是否存在于序列的時(shí)候會(huì)采取 in 或者not in 操作动看,返回值就是 bool 類型;使用 len 方法來獲取序列的長(zhǎng)度爪幻,通過 max 和 min 來得到序列中的最大值和最小值菱皆。
不過這里有個(gè)需要提醒的就是在我們判斷字符串的極大值和極小值的時(shí)候须误,我們是通過 Ascll 碼來比較的,所謂的這個(gè)碼其實(shí)就是數(shù)值仇轻,我們通過 ord 方法可以得到字符串或者數(shù)字的Ascll 碼京痢,然后再來比較得到極大值和極小值。(空字符串也是有 Ascll 碼的)
說了序列那么多篷店,我們現(xiàn)在進(jìn)入正題哈祭椰,說說集合,一個(gè)有區(qū)別于序列的數(shù)據(jù)類型疲陕。
如圖所示胯努,集合是由花括號(hào)包裹的編寫形式扯躺,而且大體也擁有部分序列的特性辅肾,當(dāng)然集合與序列最大的不同就是尼斧,集合是無序的晦墙,也就是說我們不能通過序號(hào)去得到相應(yīng)的集合元素嗅钻。那怎么得到集合中的元素呢粤剧,這個(gè)之后再說奕污,我們先來看集合的一些特性。
對(duì)比著圖中的輸出結(jié)果按厘,可能有人大概猜到一些東西,這里介紹了三種運(yùn)算符钱慢。首先看看我們的減號(hào)在集合中的意義逮京,當(dāng)一個(gè)集合減去另一個(gè)集合得到一個(gè)新集合,其實(shí)也就類似于刪除的感覺束莫,在數(shù)學(xué)中我們叫做差集(不理解可以翻課本哈)懒棉,在第一個(gè)集合中去除第二個(gè)集合中的元素,可能有人問览绿,如果第二個(gè)集合更大怎么說策严,那么得到的就應(yīng)該是空的集合,不理解的可以嘗試看看饿敲。
然后我們?cè)賮砜?& 操作妻导,它代表的意思是取出兩個(gè)集合中共同的元素組成的新集合,在數(shù)學(xué)中我們叫做交集怀各,于此關(guān)于 | 操作倔韭,它代表的就是兩個(gè)集合的合并,在數(shù)學(xué)中叫做并集瓢对,而這里又涉及到集合的一個(gè)重要特性寿酌,也就是不重復(fù)性,在一個(gè)集合中是不會(huì)出現(xiàn)相同的元素硕蛹,不管是如何的操作醇疼,最后都會(huì)去除其中的重復(fù)元素硕并。
說完這幾種集合中的操作,我們?cè)賮砜慈绾伪硎疽粋€(gè)空的集合呢秧荆,如下:
由圖可知鲤孵,僅僅一個(gè)花括號(hào)并不能表示一個(gè)空集合,反而表示的是另外的一個(gè)數(shù)據(jù)類型辰如,這個(gè)類型我們之后再說普监,那真正表示一個(gè)空集合就是 set() 。
好了琉兜,序列和集合的就說這么多凯正,后面再說說其它的數(shù)據(jù)類型。