Python學(xué)習(xí)筆記(二)

List和Tuple類(lèi)型

1.Python創(chuàng)建List
>>> ['Michael', 'Bob', 'Tracy']
['Michael', 'Bob', 'Tracy']

由于Python是動(dòng)態(tài)語(yǔ)言,所以list中包含的元素并不要求都必須是同一種數(shù)據(jù)類(lèi)型礁鲁,我們完全可以在list中包含各種數(shù)據(jù):

>>> L = ['Michael', 100, True]

一個(gè)元素也沒(méi)有的list,就是空l(shuí)ist:

>>> empty_list = []
2.按照索引訪問(wèn)List
>>> L = ['Adam', 'Lisa', 'Bart']

按照索引訪問(wèn)為

>>> print L[0]
Adam
>>> print L[1]
Lisa
>>> print L[2]
Bart
3.倒序訪問(wèn)list
>>> L = ['Adam', 'Lisa', 'Bart']

Bart同學(xué)是最后一名赁豆,俗稱(chēng)倒數(shù)第一仅醇,所以,我們可以用 -1 這個(gè)索引來(lái)表示最后一個(gè)元素魔种,同理:

>>> print L[-1]
Bart
>>> print L[-2]
Lisa
>>> print L[-3]
Adam

使用倒序索引時(shí)着憨,也要注意不要越界。

4.List添加新元素

追加到末尾

>>> L =  ['Adam', 'Lisa', 'Bart']
>>> L.append('Paul')
>>> print L
['Adam', 'Lisa', 'Bart', 'Paul']

插入到任何位置, 例如第3個(gè)位置

>>> L =  ['Adam', 'Lisa', 'Bart']
>>> L.insert(2, 'Paul')
>>> print L
['Adam', 'Lisa', 'Paul', 'Bart']
5.List刪除元素
>>> L = ['Adam', 'Lisa', 'Bart', 'Paul']
>>> L.pop()
'Paul'
>>> print L
['Adam', 'Lisa', 'Bart']

要把Paul踢出list务嫡,我們就必須先定位Paul的位置甲抖。由于Paul的索引是2漆改,因此,用 pop(2)把Paul刪掉:

>>> L.pop(2)
'Paul'
>>> print L
['Adam', 'Lisa', 'Bart']
6.List替換元素
>>> L[2] = 'Paul'
>>> print L
L = ['Adam', 'Lisa', 'Paul']

對(duì)list中的某一個(gè)索引賦值准谚,就可以直接用新的元素替換掉原來(lái)的元素挫剑,list包含的元素個(gè)數(shù)保持不變。
由于Bart還可以用 -1 做索引柱衔,因此樊破,下面的代碼也可以完成同樣的替換工作:

>>> L[-1] = 'Paul'
7.Python之創(chuàng)建tuple

tuple是另一種有序的列表,中文翻譯為“ 元組 ”唆铐。tuple 和 list 非常類(lèi)似哲戚,但是,tuple一旦創(chuàng)建完畢艾岂,就不能修改了顺少。

>>> t = ('Adam', 'Lisa', 'Bart')

創(chuàng)建tuple和創(chuàng)建list唯一不同之處是用( )替代了[ ]。
現(xiàn)在王浴,這個(gè) t 就不能改變了脆炎,tuple沒(méi)有 append()方法,也沒(méi)有insert()和pop()方法氓辣。

8.Python之創(chuàng)建單元素tuple

tuple和list一樣秒裕,可以包含 0 個(gè)、1個(gè)和任意多個(gè)元素钞啸。
包含多個(gè)元素的 tuple几蜻,前面我們已經(jīng)創(chuàng)建過(guò)了。
包含 0 個(gè)元素的 tuple体斩,也就是空tuple入蛆,直接用 ()表示:

>>> t = ()
>>> print t
()

創(chuàng)建包含1個(gè)元素的 tuple 呢?來(lái)試試:

>>> t = (1)
>>> print t
1

好像哪里不對(duì)!t 不是 tuple ,而是整數(shù)1窘俺。為什么呢赌髓?
因?yàn)?)既可以表示tuple,又可以作為括號(hào)表示運(yùn)算時(shí)的優(yōu)先級(jí),結(jié)果 (1) 被Python解釋器計(jì)算出結(jié)果 1,導(dǎo)致我們得到的不是tuple,而是整數(shù) 1话浇。
正是因?yàn)橛?)定義單元素的tuple有歧義,所以 Python 規(guī)定闹究,單元素 tuple 要多加一個(gè)逗號(hào)“,”幔崖,這樣就避免了歧義:

>>> t = (1,)
>>> print t
(1,)

Python在打印單元素tuple時(shí),也自動(dòng)添加了一個(gè)“,”,為了更明確地告訴你這是一個(gè)tuple赏寇。
多元素 tuple 加不加這個(gè)額外的“,”效果是一樣的:

>>> t = (1, 2, 3,)
>>> print t
(1, 2, 3)
9.可變的“tuple”

前面我們看到了tuple一旦創(chuàng)建就不能修改〖郏現(xiàn)在,我們來(lái)看一個(gè)“可變”的tuple:

>>> t = ('a', 'b', ['A', 'B'])

注意到 t 有 3 個(gè)元素:'a'嗅定,'b'和一個(gè)list:['A', 'B']自娩。list作為一個(gè)整體是tuple的第3個(gè)元素。list對(duì)象可以通過(guò) t[2] 拿到:

>>> L = t[2]

然后渠退,我們把list的兩個(gè)元素改一改:

>>> L[0] = 'X'
>>> L[1] = 'Y'

再看看tuple的內(nèi)容:

>>> print t
('a', 'b', ['X', 'Y'])

我們先看看定義的時(shí)候tuple包含的3個(gè)元素:


當(dāng)我們把list的元素'A'和'B'修改為'X'和'Y'后忙迁,tuple變?yōu)椋?br>

表面上看,tuple的元素確實(shí)變了碎乃,但其實(shí)變的不是 tuple 的元素姊扔,而是list的元素。

tuple一開(kāi)始指向的list并沒(méi)有改成別的list梅誓,所以恰梢,tuple所謂的“不變”是說(shuō),tuple的每個(gè)元素证九,指向永遠(yuǎn)不變删豺。即指向'a'共虑,就不能改成指向'b'愧怜,指向一個(gè)list,就不能改成指向其他對(duì)象妈拌,但指向的這個(gè)list本身是可變的拥坛!

理解了“指向不變”后,要?jiǎng)?chuàng)建一個(gè)內(nèi)容也不變的tuple怎么做尘分?那就必須保證tuple的每一個(gè)元素本身也不能變猜惋。例如:

 t = ('a', 'b', ('A', 'B'))
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市培愁,隨后出現(xiàn)的幾起案子著摔,更是在濱河造成了極大的恐慌,老刑警劉巖定续,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件谍咆,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡私股,警方通過(guò)查閱死者的電腦和手機(jī)摹察,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)倡鲸,“玉大人供嚎,你說(shuō)我怎么就攤上這事。” “怎么了克滴?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵逼争,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我偿曙,道長(zhǎng)氮凝,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任望忆,我火速辦了婚禮罩阵,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘启摄。我一直安慰自己稿壁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布歉备。 她就那樣靜靜地躺著傅是,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蕾羊。 梳的紋絲不亂的頭發(fā)上喧笔,一...
    開(kāi)封第一講書(shū)人閱讀 51,365評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音龟再,去河邊找鬼书闸。 笑死,一個(gè)胖子當(dāng)著我的面吹牛利凑,可吹牛的內(nèi)容都是我干的浆劲。 我是一名探鬼主播,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼哀澈,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼牌借!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起割按,我...
    開(kāi)封第一講書(shū)人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤膨报,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后适荣,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體现柠,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年束凑,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了晒旅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡汪诉,死狀恐怖废恋,靈堂內(nèi)的尸體忽然破棺而出谈秫,到底是詐尸還是另有隱情,我是刑警寧澤鱼鼓,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布拟烫,位于F島的核電站,受9級(jí)特大地震影響迄本,放射性物質(zhì)發(fā)生泄漏硕淑。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一嘉赎、第九天 我趴在偏房一處隱蔽的房頂上張望置媳。 院中可真熱鬧,春花似錦公条、人聲如沸拇囊。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)寥袭。三九已至,卻和暖如春关霸,著一層夾襖步出監(jiān)牢的瞬間传黄,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工队寇, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留膘掰,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓英上,卻偏偏與公主長(zhǎng)得像炭序,于是被迫代替她去往敵國(guó)和親啤覆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子苍日,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354

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