Python學(xué)習(xí)筆記--list與tuple

圖片發(fā)自簡(jiǎn)書App


1.使用[ ]將list的所有元素都括起來,就是一個(gè)list對(duì)象

>>> l=['Liu',18,True]
>>> print l
['Liu', 18, True]

python是動(dòng)態(tài)語言,所以list里可以放不同類型的數(shù)據(jù)

2.一個(gè)元素也沒有的list,就是空list

>>> j = []
>>> type(j)
>>> print j
[]

3.根據(jù)下標(biāo)訪問list

>>> print l
['Liu', 18, True]
>>> l[0]
'Liu'

4.倒序訪問

>>> print l
['Liu', 18, True]
>>> l[-1]
True
>>> l[-2]
18
>>> l[-3]
'Liu'

倒序下標(biāo)從-1開始

5.添加元素

方法一:append()

>>> print l
['Liu', 18, True]
>>> l.append('Wen')
>>> print l
['Liu', 18, True, 'Wen']

方法二:insert()

>>> print l
['Liu', 18, True, 'Wen']
>>> l.insert(1,'insert')
>>> print l
['Liu', 'insert', 18, True, 'Wen']

第一種為末尾插入,第二種為任意位置插入,比第一種方法靈活。

6.刪除元素

方法:pop()

返回:被刪除的元素

(1)情況一(帶下標(biāo)):

>>> print l
['Liu', 'insert', 18, True, 'Wen']
>>> l.pop(3)
True
>>> print l
['Liu', 'insert', 18, 'Wen']

(2)情況二(不帶下標(biāo)):

>>> print l
['Liu', 'insert', 18, 'Wen']
>>> l.pop()
'Wen'
>>> print l
['Liu', 'insert', 18]

不帶下標(biāo)的pop方法,默認(rèn)刪除最后一個(gè)元素。

7.替換元素

>>> print l
['Liu', 'insert', 18]
>>> l[-1]=19
>>> print l
['Liu', 'insert', 19]

8.特殊的有序list—tuple(元組)

(1)使用( )將元素括起來

(2)一旦創(chuàng)建完畢,就無法修改。

所以tuple沒有append()、insert()和pop()

(3)通過下標(biāo)索引元素,但是不能再賦值為別的元素

(4)包含 0 個(gè)元素的 tuple,也就是空tuple,直接用 ()

包含1個(gè)元素的 tuple時(shí)不能按照如下的方法創(chuàng)建:

>>> t = (1)
>>> print t
1
>>> type(t)
<type 'int'>

析:

因?yàn)?)既可以表示tuple,又可以作為括號(hào)表示運(yùn)算時(shí)的優(yōu)先級(jí),結(jié)果 (1) 被Python解釋器計(jì)算出結(jié)果 1,導(dǎo)致我們得到的不是tuple,而是整數(shù) 1。

解決:

Python 規(guī)定,單元素 tuple 要多加一個(gè)逗號(hào)“,”,這樣就避免了歧義:

>>> t = (1,)
>>> print t
(1,)
>>> type(t)
<type 'tuple'>

9.'可變'的tuple

例子:

>>> t = ('a', 'b', ['A', 'B'])
>>> L = t[2]
>>> L[0] = 'X'
>>> L[1] = 'Y'
>>> print t
('a', 'b', ['X', 'Y'])

不是說tuple一旦定義后就不能改變了嗎?怎么現(xiàn)在又可以改變了呢?

分析:

當(dāng)我們定義tuple的時(shí)候:

圖片發(fā)自簡(jiǎn)書App


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

圖片2

tuple一開始指向的list并沒有改成別的list,所以,tuple所謂的“不變”是說,tuple的每個(gè)元素,指向永遠(yuǎn)不變。即指向’a’,就不能改成指向’b’,指向一個(gè)list,就不能改成指向其他對(duì)象,但指向的這個(gè)list本身是可變的!

10.切片

格式:list[x:y:z]

解析:

x表示切片開始的位置
y表示切片到哪里結(jié)束
z表示切片間隔數(shù)

負(fù)數(shù)用在從序列尾開始計(jì)算的位置

切片的操作類型:

con[start_index]:返回索引值為start_index的對(duì)象。start_index為 -len(con)到len(con)-1之間任意整數(shù)。

con[start_index: end_index]:返回索引值為start_index到end_index-1之間的連續(xù)對(duì)象。

con[start_index: end_index : step]:返回索引值為start_index到end_index-1之間,并且索引值與start_index之差可以被step整除的連續(xù)對(duì)象。

con[start_index: ]:缺省end_index,表示從start_index開始到序列中最后一個(gè)對(duì)象。

con[: end_index]:缺省start_index,表示從序列中第一個(gè)對(duì)象到end_index-1之間的片段。

con[:]:缺省start_index和end_index,表示從第一個(gè)對(duì)象到最后一個(gè)對(duì)象的完整片段。

con[::step]:缺省start_index和end_index,表示對(duì)整個(gè)序列按照索引可以被step整除的規(guī)則取值。

舉例:

str[6:] #截取第七個(gè)字符到結(jié)尾

str[:] #截取字符串的全部字符

str[0:3] #截取第一位到第三位的字符

str[:-3] #截取從頭開始到倒數(shù)第三個(gè)字符之前

str[2] #截取第三個(gè)字符

str[-1] #截取倒數(shù)第一個(gè)字符

str[::-1] #創(chuàng)造一個(gè)與原字符串順序相反的字符串

str[-3:-1] #截取倒數(shù)第三位與倒數(shù)第一位之前的字符

str[-3:] #截取倒數(shù)第三位到結(jié)

str[:-5:-3] #逆序截取

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 最近在慕課網(wǎng)學(xué)習(xí)廖雪峰老師的Python進(jìn)階課程,做筆記總結(jié)一下重點(diǎn)。 基本變量及其類型 變量 在Python中,...
    victorsungo閱讀 1,736評(píng)論 0 5
  • 基礎(chǔ)1.r''表示''內(nèi)部的字符串默認(rèn)不轉(zhuǎn)義2.'''...'''表示多行內(nèi)容3. 布爾值:True、False(...
    neo已經(jīng)被使用閱讀 1,719評(píng)論 0 5
  • 一、python 變量和數(shù)據(jù)類型 1.整數(shù) Python可以處理任意大小的整數(shù),當(dāng)然包括負(fù)整數(shù),在Python程序...
    績(jī)重KF閱讀 1,778評(píng)論 0 1
  • 基本數(shù)據(jù)類型: 1: info = 'abc' info[2] = 'd' 結(jié)果是什么,為什么會(huì)報(bào)錯(cuò)呢? 答:...
    玖月初識(shí)閱讀 3,732評(píng)論 5 5
  • Python 是一種相當(dāng)高級(jí)的語言,通過 Python 解釋器把符合語法的程序代碼轉(zhuǎn)換成 CPU 能夠執(zhí)行的機(jī)器碼...
    Python程序媛閱讀 1,942評(píng)論 0 3