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