從0到1玩深度學(xué)習(xí)(0.04):Python語(yǔ)言中容納數(shù)據(jù)的容器類(lèi)型(Containers)

年末正在來(lái)臨沐悦,還有10來(lái)天就要到除夕了成洗。

大家是不是正在積極地備年貨,給家人買(mǎi)禮物呢藏否?

無(wú)論什么東西泌枪,都離不開(kāi)“容器”。比如給別人送化妝品秕岛,你應(yīng)該不會(huì)捧著各種水、乳误证、霜給家人继薛,都會(huì)有包裝瓶之類(lèi)的,而且如果包裝瓶上印有出名的牌子愈捅,這些液體的價(jià)格就會(huì)完全不同遏考。

跑偏了,總之容器是我們的生活必須品蓝谨。從十萬(wàn)年前用于儲(chǔ)存食物的葉子和各種土器灌具,到現(xiàn)在的快遞包裝盒,都屬于容器的范疇譬巫。容器的種類(lèi)有很多咖楣,但多半是同樣的功能,用于儲(chǔ)存各種商品芦昔,比如食物诱贿,貨物等等。

在計(jì)算機(jī)編程中咕缎,無(wú)論是哪種編程語(yǔ)言珠十,都會(huì)用到“容器”這個(gè)概念。與日常生活中的容器不同的是凭豪,編程語(yǔ)言中的容器并不是用來(lái)裝食物的焙蹭,而是用來(lái)裝數(shù)據(jù)的,而且可以裝各種不同類(lèi)型的數(shù)據(jù)嫂伞,比如上一次教程里介紹的數(shù)字孔厉,字符,和運(yùn)算操作等等末早。鑒于編程中的容器有點(diǎn)無(wú)聊烟馅,我們就不放照片了。

現(xiàn)在我們?cè)敿?xì)介紹一下Python語(yǔ)言中的容器container然磷,主要包括列表(list)郑趁、字典(dictionary)、集合(set)姿搜、元組(tuple)寡润。

列表(list)

python中的列表并不是數(shù)組捆憎,數(shù)組只能裝數(shù)字,而列表可以用來(lái)裝不同的數(shù)據(jù)元素梭纹。

比如下面這個(gè)例子:

上面的代碼的功能是先用“xs”建立了一個(gè)列表躲惰,第0個(gè)元素為3,第1個(gè)元素為1变抽,第2個(gè)元素為2础拨。

代碼xs[2]='foo'的作用是將“xs”中的第2個(gè)元素改成'foo'。

代碼xs.append('bar')是在“xs”的后面append(附加上)一個(gè)元素'foo'绍载。

代碼xs.pop()是移除“xs”列表中的一個(gè)元素(默認(rèn)是最后一個(gè)元素)诡宗,并返回該元素的值,所以print(x,xs)先顯示“x”的值击儡,也就是'bar'塔沃,再顯示“xs”的值,也就是“[3, 1, 'foo']”阳谍。

既然列表里有很多元素蛀柴,那么很自然地,我們可以用列表來(lái)做循環(huán)操作矫夯,比如我們可以用for循環(huán)來(lái)遍歷列表里的元素鸽疾,如:

在上圖中,可以用animal來(lái)指代animals這個(gè)列表中的每一個(gè)元素茧痒,于是就可以依次顯示出列表animals中的每一個(gè)元素肮韧。這種操作有什么好處呢?

比如旺订,我們可以用來(lái)對(duì)每個(gè)元素進(jìn)行統(tǒng)一的計(jì)算弄企,比如開(kāi)方:

字典(dictionary)

在我們學(xué)語(yǔ)文的時(shí)候,我們遇到不認(rèn)識(shí)的字詞区拳,都會(huì)查字典拘领,也就是根據(jù)字詞去查詢(xún)注明這個(gè)字的讀音、意義和用法樱调。比如“徐”這個(gè)字约素,我們可以在字典中查到其意思是“慢慢的”,于是就很容易明白“清風(fēng)徐來(lái)”的意思了笆凌。

在Python中圣猎,也有字典這個(gè)容器。

比如下面這個(gè)例子:

我們定義了d這個(gè)字典乞而,'cat'這個(gè)字對(duì)應(yīng)'cute'這個(gè)屬性送悔,'dog'這個(gè)字對(duì)應(yīng)'furry'這個(gè)屬性。

那么我們?nèi)绻樵?xún)cat的屬性,那么只需要用d['cat']就可以了欠啤。

此外荚藻,可以用print(d.get('monkey','N/A'))來(lái)判斷d這個(gè)字典里有沒(méi)有monkey的屬性,有的話(huà)就顯示出這個(gè)屬性洁段,否則就輸出N/A应狱。因?yàn)閐中沒(méi)有monkey這個(gè)字,所以輸出的就是N/A祠丝。

如果輸入print(d.get('cat','N/A'))疾呻,那么輸出的就是'cute'這個(gè)屬性。

集合(set)

集合也是一種容納數(shù)據(jù)的容器写半,和列表有差不多的功能罐韩。

不同的是,列表中可以出現(xiàn)相同的元素污朽,比如a = [0, 1, 0]這個(gè)列表有3個(gè)元素,長(zhǎng)度是3龙考。而如果a = {0蟆肆, 1, 0}這個(gè)集合中有2個(gè)元素晦款,分別是0和1炎功,長(zhǎng)度是2,也就是說(shuō)a={0缓溅,1蛇损,0}={0,1}坛怪。這里有一個(gè)細(xì)節(jié)淤齐,列表是用“[]”來(lái)表達(dá),而集合是用“{}”來(lái)表達(dá)袜匿。

我們看下面這一段代碼:

我們可以用animals.add這個(gè)指令來(lái)給animals這個(gè)集合添加元素更啄,可以是不同的元素,比如“fish”居灯,這樣就可以增加集合中元素的個(gè)數(shù)祭务。如果添加的元素是集合animals中已有的元素,那么animals中元素的個(gè)數(shù)就不變怪嫌。

元組(tuple)

還有一類(lèi)容器是元組义锥,元組是不可以改變順序的列表(list),與列表很相似岩灭。

元組比列表更強(qiáng)大的是拌倍,元組可以用做字典,也可以用作集合川背。

比如這個(gè)例子:

在例子中贰拿,d是一個(gè)字典蛤袒,“for x in range(10)”的意思是讓x從0到9循環(huán),注意range(10)是[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]這個(gè)整數(shù)列表膨更。

d是什么模樣呢妙真?如下:

這就像查表,如果查“(0荚守,1)”珍德,得到的結(jié)果是0。如果查詢(xún)的是“(x矗漾,x+1)”锈候,得到的結(jié)果是“x”的值。


總結(jié)一下敞贡,今天主要介紹了python中的“容器”這個(gè)概念泵琳,包括“列表”,“字典”誊役,“集合”和“元組”四個(gè)主要的容器获列,這些容器都可以用來(lái)容納不同的數(shù)據(jù)類(lèi)型,這些容器都可以用來(lái)進(jìn)行for循環(huán)的遍歷計(jì)算蛔垢。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末击孩,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鹏漆,更是在濱河造成了極大的恐慌巩梢,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,490評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件艺玲,死亡現(xiàn)場(chǎng)離奇詭異括蝠,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)饭聚,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,581評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)又跛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人若治,你說(shuō)我怎么就攤上這事慨蓝。” “怎么了端幼?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,830評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵礼烈,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我婆跑,道長(zhǎng)此熬,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,957評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮犀忱,結(jié)果婚禮上募谎,老公的妹妹穿的比我還像新娘。我一直安慰自己阴汇,他們只是感情好数冬,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,974評(píng)論 6 393
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著搀庶,像睡著了一般拐纱。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上哥倔,一...
    開(kāi)封第一講書(shū)人閱讀 51,754評(píng)論 1 307
  • 那天秸架,我揣著相機(jī)與錄音,去河邊找鬼咆蒿。 笑死东抹,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的沃测。 我是一名探鬼主播府阀,決...
    沈念sama閱讀 40,464評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼芽突!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起董瞻,我...
    開(kāi)封第一講書(shū)人閱讀 39,357評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤寞蚌,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后钠糊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體挟秤,經(jīng)...
    沈念sama閱讀 45,847評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,995評(píng)論 3 338
  • 正文 我和宋清朗相戀三年抄伍,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了艘刚。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,137評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡截珍,死狀恐怖攀甚,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情岗喉,我是刑警寧澤秋度,帶...
    沈念sama閱讀 35,819評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站钱床,受9級(jí)特大地震影響荚斯,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,482評(píng)論 3 331
  • 文/蒙蒙 一事期、第九天 我趴在偏房一處隱蔽的房頂上張望滥壕。 院中可真熱鬧,春花似錦兽泣、人聲如沸绎橘。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,023評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)金踪。三九已至,卻和暖如春牵敷,著一層夾襖步出監(jiān)牢的瞬間胡岔,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,149評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工枷餐, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留靶瘸,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,409評(píng)論 3 373
  • 正文 我出身青樓毛肋,卻偏偏與公主長(zhǎng)得像怨咪,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子润匙,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,086評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 最近在寫(xiě)個(gè)性化推薦的論文诗眨,經(jīng)常用到Python來(lái)處理數(shù)據(jù),被pandas和numpy中的數(shù)據(jù)選取和索引問(wèn)題繞的比較...
    shuhanrainbow閱讀 4,559評(píng)論 6 19
  • 本文為《爬著學(xué)Python》系列第九篇文章孕讳。 從現(xiàn)在開(kāi)始算是要進(jìn)入“真刀真槍”的Python學(xué)習(xí)了匠楚。之所以這么說(shuō),...
    SyPy閱讀 2,145評(píng)論 0 14
  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理厂财,服務(wù)發(fā)現(xiàn)芋簿,斷路器,智...
    卡卡羅2017閱讀 134,672評(píng)論 18 139
  • 53.計(jì)算字符 在字符串中獲取字符值的數(shù)量, 可以使用字符串字符屬性中的計(jì)數(shù)屬性: let unusualMena...
    無(wú)灃閱讀 1,091評(píng)論 0 4
  • 可以說(shuō),我現(xiàn)在是人不像人荚恶、鬼不像鬼撩穿。關(guān)鍵是那個(gè)頭發(fā),時(shí)常不知道怎么形容谒撼。打摩上下班冗锁,我可以想象那亂發(fā)的程度。簡(jiǎn)直嗤栓,...
    飄雨桐V閱讀 224評(píng)論 0 1