基本概念
數(shù)據(jù)結(jié)構(gòu):是通過(guò)某種方式(例如對(duì)元素進(jìn)行編號(hào))組織在一起的數(shù)據(jù)元素的集合,這些數(shù)據(jù)元素可以是數(shù)字或者字符,甚至可以是其他數(shù)據(jù)結(jié)構(gòu)。
python中有一種名為容器(container)的數(shù)據(jù)結(jié)構(gòu)。容器基本上是包含其他對(duì)象的任意對(duì)象。
序列(例如列表和原組)和映射(例如字典)是兩類(lèi)主要的容器。
Python中,最基本的數(shù)據(jù)結(jié)構(gòu)是序列(sequence)。序列中的每個(gè)元素被分配一個(gè)序號(hào)———即元素的位置,也稱(chēng)索引。
Python有6中內(nèi)建序列,這里重點(diǎn)討論最常用的兩種:列表和原組。
列表和原組的主要區(qū)別在于,列表可以修改,原組則不能。
通用序列操作:
1、索引(indexing)
e.g.
>>>company="WindRiver"
>>>company[0]
'W'
>>>company[-1]
'r'
2、分片(sliceing),使用分片操作來(lái)訪問(wèn)一定范圍的元素。通過(guò)冒號(hào)相隔的兩個(gè)索引來(lái)實(shí)現(xiàn)
e.g.
>>>company[0:4]
'Wind'
>>>company[0:-5]
'Wind'
注意:分片操作的實(shí)現(xiàn)需要提供兩個(gè)索引作為邊界,第1個(gè)索引的元素是包含在分片內(nèi),而第2個(gè)索引不包含在分片內(nèi);最左邊的索引比它右邊的晚出現(xiàn)在序列中,結(jié)果就是一個(gè)空序列。
(1)優(yōu)雅的捷徑
>>>company[4:]
'River'
如果分片所得部分包括序列結(jié)尾的元素,那么,只需要空最后一個(gè)索引即可;這種方法同樣適用于序列開(kāi)始的元素
>>>company[:4]
'Wind'
當(dāng)然如果需要復(fù)制整個(gè)序列,就可以將兩個(gè)索引都置空
>>>company[:]
'WindRiver'
(2)更大的步長(zhǎng)(steplength)
在普通分片中,步長(zhǎng)是1,隱式設(shè)置
>>>company[::1]
'WindRiver'
>>>company[::2]
'WnRvr'
3、序列相加(adding)
>>>'adb'+'adf'
'adbadf'
>>>[1,2]+[3,9]
[1,2,3,9]
>>>'adb'+[3,2]
Traceback(mostrecentcalllast):
File"",line1,in
TypeError:cannotconcatenate'str'and'list'objects
簡(jiǎn)單來(lái)說(shuō),兩種相同類(lèi)型的序列才能進(jìn)行連接操作。
4、乘法(multiplying)
>>>'python'*3
'pythonpythonpython'
>>>[4]*3
[4,4,4]
>>>[4,3]*2
[4,3,4,3]
5、成員資格
>>>'r'incompany
True
6、長(zhǎng)度,最小值,最大值
>>>len(company)
9
>>>max(company)
'v'
>>>min(company)
'R'
以上內(nèi)容為大家介紹了Python通用序列操作,希望對(duì)大家有所幫助,如果想要了解更多Python相關(guān)知識(shí),請(qǐng)關(guān)注IT培訓(xùn)機(jī)構(gòu):千鋒教育。http://madgrindclothing.com/