資料結構式通過某種方式(例如對元素進行編號)組織在一起的資料元素的集合,這些資料元素可以是數字或者字元,甚至可以是其他資料結構。在python中,最基本的資料結構是序列(sequence)。序列中的每個元素被分配乙個序號–即元素的位置,也稱為索引。第乙個元素索引是0,第二個則是1,一次類推。
python包含6中內建的序列,即列表、元組、字串、unicode字串、buffer物件和xrange物件。
通用序列操作:索引、分片、序列相加、乘法、成員資格、長度、最小值和最大值
1. 索引
序列中所有的元素都是有編號的–從0開始遞增。可以通過編號分別對序列的元素進行訪問。python的序列也可以從右邊開始索引,最右邊的乙個元素的索引為-1,想左開始遞減。
>>
> greeting=
'hello'
>>
> greeting[2]
'l'>>
> greeting[-1
]'o'
>>
>
'stringtesting'[3
]#可以對任何乙個字串進行索引,該字串的第三個索引為'i'字元
'i'>>
> fourth=
raw_input
('year: ')[
3]#可以對輸入的字串進行索引,這樣對輸入的字串索引為3的感興趣
year:
2014
>>
> fourth
'4'
2. 分片
索引用來對單個元素進行訪問,用分片可以對一定範圍內的元素進行訪問,分片通過冒號相隔的兩個索引來實現。分片操作的實現需要提供兩個索引作為邊界,第乙個索引的元素是包含在分片內的,第二個則不包含在分片內。
'''
'''>>
> number=[1
,2,3
,4,5
,6,7
,8,9
,10]>>
> number[2:
4]#取索引為第二和第三的元素 [3
,4]>>
> number[-4
:-1]
#負數表明是從右開始計數 [7
,8,9
]>>
> number[-4
:]#把第二個索引置空,表明包括到序列結尾的元素 [7
,8,9
,10]>>
> number[:3
]#同上,把第乙個索引置空,表明包含序列開始的元素 [1
,2,3
]>>
> number[0:
10:1]
#預設在分片的時候,步長為1,這樣指定步長為1,和預設的效果一樣 [1
,2,3
,4,5
,6,7
,8,9
,10]>>
> number[0:
10:2]
#這裡指定步長為2,這樣就會跳過某些序列元素 [1
,3,5
,7,9
]>>
> number[10:
0:-1
]#步長也可以是負數,但是第乙個索引一定要大於第二個索引 [10
,9,8
,7,6
,5,4
,3,2
]>>
> number[10:
0:-2
][10,
8,6,
4,2]
對於乙個正數步長,python會從序列的頭部開始向右提取元素,直到最後乙個元素,而對於負數步長,則是從序列的尾部開始向左提取元素,直到第乙個元素
3. 序列相加
>>
>[1
,2,3
]+[4
,5,6
][1,
2,3,
4,5,
6]>>
>
'hello '
+'world!'
'hello world!'
>>
>[1
,2,3
]+'hello'
traceback (most recent call last)
: file ""
, line 1,in
typeerror: can only concatenate list
(not
"str"
) to list
最後乙個例子,試圖列表和字串進行相加,但是出錯了,雖然他們都是序列,但是是不同資料型別,不能相加
4. 乘法
用數字x剩以乙個序列會生成新的序列,而在新的序列中,原來的序列將會被重複x次。
'''
'''>>
>
'python'*4
'pythonpythonpythonpython'
>>
>
[none]*
4#none為python的內建值,這裡建立長度為4的元素空間,但是什麼元素也不包含
[none
,none
,none
,none
]
5. 成員資格
可以使用in運算子來檢查乙個值是否在序列中,如果在其中,就返回ture,如果不在,就返回false。
>>
> permission=
'rw'
>>
>
'r'in permission
true
>>
>
'x'in permission
false
6. 長度、最小值和最大值
內建函式len、min和max分別返回序列所包含的元素的數量,序列中的最小元素和序列中的最大元素。
>>
> number=[2
,3,4
,5,6
,7,8
,9,10
]>>
>
len(number)
9>>
>
min(number)
2>>
>
max(number)
10>>
>
min(4,
3,5)
#函式的引數不用一定是序列,也可以是多個數字
3
介紹Python中6個序列的內建型別
1 python中6個序列的內建型別分別是什麼?python包含6中內建的序列,即列表 元組 字串 unicode字串 buffer物件和 xrange 物件。序列通用的操作包括 索引 長度 組合 序列相加 重複 乘法 分片 檢查成員 遍歷 最小值和最大值。2 列表和元組的異同有哪些?python有...
Python中序列的內建型別之概述(一)
python包含6中內建的序列,即列表 元組 字串 unicode字串 buffer物件和 xrange 物件。序列通用的操作包括 索引 長度 組合 序列相加 重複 乘法 分片 檢查成員 遍歷 最小值和最大值。python有6個序列的內建型別,但最常見的是列表和元組。列表和元組相似,具體包含下面幾個...
Python中序列的內建型別之元組Tup(三)
python的元組是乙個固定的元素集合體,它與列表類似,不同之處在於元組的元素不能修改,由於他不能修改,所以它沒有公升降序之類的功能,並且元組沒有內建方法。而它卻常常被初始定義一些比較固定的元素,方便之後的呼叫,如對話資訊中的文字。元組使用小括號 也可以不使用括號 列表使用方括號。元組建立很簡單,只...