內建序列 及 列表與元組(List & Temple)
阿新 • • 發佈:2018-12-18
Python中包含有六種常見的內建序列(list , temple , string , Unicode string , buffer ,xrange)
通用序列操作
- 索引 indexing
- 分片 slicing
- 相加 adding
- 相乘 multiplying
- 長度,最大值,最小值
索引 indexing
序列是Python中最基本的資料結構 其中的每一個元素都分配數字(在序列中代表索引),第一個是0,第二個是1,以此類推 同時,序列也可以從右邊開始索引:最右邊的元素引值為-1
greeting = 'hello world'
print(greeting[0])
>>> 'h'
'hello world'
print('hello world'[1])
>>> 'e'
'hello world'
print('hello world'[-3])
>>> 'r'
索引既可以對變數的引用操作,也可以直接操作序列,還可以操作函式的返回序列
分片 slicing
索引用來對單個元素進行訪問,而分片則是對一定範圍內的元素進行訪問(通過 “ : ”相隔的兩個索引實現)
分片操作的實現需要提供兩個索引作為邊界,第一個索引包含在分片內,第二個索引的元素則不包含在內 即:a <= x <b ,x是我們需要訪問的元素,a為第一個分片索引,b為第二個
number = [1,2,3,4,5,6,7,8,9,10]
print(number[0:3]) # 索引number列表的0,1,2三個位置的元素
>>> [1,2,3]
print(number[-3:-1]) # 索引number列表的-3,-2兩個位置的元素
>>> [8,9]
步長 step length
在普通分片中,步長預設為1(可正可負,通常為隱式設定,一般不顯示)
對於正數步長,會從左往右提取元素(開始點小於結束點);負數則相反(開始點大於結束點)
print(number[0:10:2])
>> > [1,3,5,7,9]
print(number[0:10:3])
>>> [1,4,7,10]
print(number[2:6:3])
>>> [3,6]
print(number[2:5:3])
>>> [3]
print(number[::3])
>>> [1,4,7,10]
print(number[10:0:-2])
>>> [10,8,6,4,2]
print(number[5::-2])
>>> [6,4,2]
print(number[:5:-2])
>>> [10,8]
序列的加法和乘法,長度,最大值,最小值
print([1,2,3] + [a,'ok',0])
>>>[1,2,3,a,'ok',0]
print([7]*3)
>>>[7,7,7]
number = [300,200,800,500]
print(len(number))
>>> 4
print(max(number))
>>> 800
print(min(number))
>>> 200