国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

跟老齊學Python之集合(set)

2020-02-23 05:50:05
字體:
來源:轉載
供稿:網友

回顧一下已經了解的數據類型:int/str/bool/list/dict/tuple

還真的不少了.

不過,python是一個發展的語言,沒準以后還出別的呢.看官可能有疑問了,出了這么多的數據類型,我也記不住呀,特別是里面還有不少方法.

不要擔心記不住,你只要記住愛因斯坦說的就好了.

愛因斯坦在美國演講,有人問:“你可記得聲音的速度是多少?你如何記下許多東西?”愛因斯坦輕松答道:“聲音的速度是多少,我必須查辭典才能回答。因為我從來不記在辭典上已經印著的東西,我的記憶力是用來記憶書本上沒有的東西。”

多么霸氣的回答,這回答不僅僅霸氣,更是在告訴我們一種方法:只要能夠通過某種方法查找到的,就不需要記憶.

那么,上面那么多數據類型的各種方法,都不需要記憶了,因為它們都可以通過下述方法但不限于這些方法查到(這句話的邏輯還是比較嚴密的,包括但不限于...)

交互模式下用dir()或者help()
google(不推薦Xdu,原因自己體會啦)

為了能夠在總體上對已經學習過的數據類型有了解,我們不妨做如下分類:

1.是否為序列類型:即該數據的元素是否能夠索引.其中序列類型的包括str/list/tuple
2.是否可以原處修改:即該數據的元素是否能夠原處修改(特別提醒看官,這里說的是原處修改問題,有的資料里面說str不能修改,也是指原處修改問題.為了避免誤解,特別強調了原處).能夠原處修改的是list/dict(特別說明,dict的鍵必須是不可修改的,dict的值可原處修改)
什么原處修改?看官能不能在交互模式下通過實例解釋一下?

到這里,看官可千萬不要以為本講是復習課.本講的主要內容不是復習,主要內容是要向看官介紹一種新的數據類型:集合(set).徹底暈倒了,到底python有多少個數據類型呢?又多出來了一個.

從基本道理上說,python中的數據類型可以很多,因為每個人都可以自己定義一種數據類型.但是,python官方認可或者說內置的數據類型,就那么幾種了.基本上今天的set講完,就差不多了.在以后的開發過程中,包括今天和以往介紹的數據類型,是常用的.當然,自己定義一個也可以,但是用原生的更好.

創建set

tuple算是list和str的雜合(雜交的都有自己的優勢,上一節的末后已經顯示了),那么set則可以堪稱是list和dict的雜合.

set擁有類似dict的特點:可以用{}花括號來定義;其中的元素沒有序列,也就是是非序列類型的數據;而且,set中的元素不可重復,這就類似dict的鍵.

set也有繼承了一點list的特點:如可以原處修改(事實上是一種類別的set可以原處修改,另外一種不可以).

下面通過實驗,進一步理解創建set的方法:

>>> s1 = set("qiwsir") #把str中的字符拆解開,形成set.特別注意觀察:qiwsir中有兩個i>>> s1         #但是在s1中,只有一個i,也就是不能重復set(['q', 'i', 's', 'r', 'w'])>>> s2 = set([123,"google","face","book","facebook","book"])  #通過list創建set.不能有重復,元素可以是int/str>>> s2set(['facebook', 123, 'google', 'book', 'face'])        #元素順序排列不是按照指定順序>>> s3 = {"facebook",123}    #通過{}直接創建>>> s3set([123, 'facebook'])            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 道真| 临桂县| 东港市| 岳西县| 利津县| 饶阳县| 水城县| 青龙| 林甸县| 前郭尔| 虎林市| 通许县| 平昌县| 红安县| 湟中县| 黔江区| 娄底市| 连江县| 图木舒克市| 仙游县| 临汾市| 衡阳县| 光山县| 莆田市| 观塘区| 平山县| 克山县| 津市市| 博白县| 肇庆市| 渑池县| 拉萨市| 大方县| 方城县| 吉林市| 邯郸县| 江津市| 新竹县| 兰西县| 滨海县| 资兴市|