列表和元組的主要區別在于,列表可以修改,元組則不能。一般情況下,在幾乎所有的情況下列表都可以代替元組
例如:使用序列可以表示數據庫中一個人的信息(姓名,年齡)
代碼如下:
>>> edward=['Edward Gumby',42]
序列還可以包含其他序列
代碼如下:
>>> edward=['Edward Gumby',42]
>>> john=['John Smith',50]
>>> database=[edward,john]
>>> database
[['Edward Gumby', 42], ['John Smith', 50]]
通用序列操作
所有的序列操作都可以進行某些特定的操作。這些操作包括:索引、分片、加、乘以及檢查某個元素是否屬于序列的成員
索引
序列中的所有元素都是有編號的--從0開始遞增。這些元素可以通過編號分別訪問,如下:
代碼如下:
>>> greeting='hello'
>>> greeting[0]
'h'
>>> greeting[-1]
'o'
>>> 'hello'[1]
'e'
如果一個函數調用返回一個序列,那么可以直接對返回結果進行索引操作,例如:
代碼如下:
>>> fourth=raw_input('Year:')[3]
Year:2005
>>> fourth
'5'
View Code
運行結果:
代碼如下:
>>>
Year: 1974
Month(1-12): 8
Day(1-31): 16
August 16th, 1974
分片
使用分片操作來訪問一定范圍內的元素,分片通過冒號相隔的兩個索引來實現:
代碼如下:
>>> tag='<a herf="http://www.python.org">Python web site</a>'
>>> tag[9:30]
'http://www.python.org'
>>> tag[32:-4]
'Python web site'
第一個索引是需要提取部分的第一個元素的編號,而最后的索引則是分片之后剩下部分的第一個元素的編號
代碼如下:
>>> numbers=[1,2,3,4,5,6,7,8,9,10]
>>> numbers[3:6]
[4, 5, 6]
>>> numbers[0:1]
[1]
1、優雅的捷徑
訪問最后的三個元素,當然可以進行顯示的操作
代碼如下:
>>> numbers[7:10]
[8, 9, 10]
>>> numbers[-3:-1]
[8, 9]
>>> numbers[-3:0]
[]
>>> numbers[-3:]
[8, 9, 10]
只有最后一個分片完成任務,這種方法同樣適用序列開始的元素:
代碼如下:
>>> numbers[:3]
[1, 2, 3]
實際上,如果需要復制整個序列,可以將兩個索引都置空:
代碼如下:
>>> numbers[:]
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
2、更大的步長
分片還有第三個參數--步長,通常都是隱式設置的,在一般情況下,步長是1,不能為0,但是可以為負數,即從右往左提取元素
新聞熱點
疑難解答