1. 程式人生 > >內建序列 及 列表與元組(List & Temple)

內建序列 及 列表與元組(List & Temple)

Python中包含有六種常見的內建序列(list , temple , string , Unicode string , buffer ,xrange)

通用序列操作

  1. 索引 indexing
  2. 分片 slicing
  3. 相加 adding
  4. 相乘 multiplying
  5. 長度,最大值,最小值

索引 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