1 簡介
Python 中的序列是一塊可存放多個值的連續內存空間,所有值按一定順序排列,每個值所在位置都有一個編號,稱其爲索引,我們可以通過索引訪問其對應值。
我們上一節說的Python 基礎(四):字符串就是序列結構,除此之外常見的序列結構還包括列表、元組等。
2 基本使用
2.1 索引
序列索引支持非負數和負數,索引爲非負數,從 0
開始,如下所示:
索引爲負數由右向左計數,從 -1
開始,如圖所示:
下面通過一個示例作進一步瞭解,以字符串爲例,如下所示:
str = 'Python'
print('str[0] str[-6] =', str[0], str[-6])
print('str[5] str[-1] =', str[5], str[-1])
輸出結果:
str[0] str[-6] = P P
str[5] str[-1] = n n
從結果來看,我們使用非負數索引與負數索引得到的結果一致。
2.2 切片
切片操作可以訪問一定範圍內的元素,語法如下所示:
sname[start : end : step]
- sname:表示序列的名稱;
- start:開始索引位置(包括該位置),默認爲 0;
- end:表示切片的結束索引位置(不包括該位置),默認爲序列的長度;
- step:步長。
以字符串爲例,如下所示:
str = 'Python'
print(str[:3])
print(str[3:])
print(str[:])
輸出結果:
Pyt
hon
Python
2.3 相加
Python 支持類型相同的序列使用 +
作相加操作,該操作不會去除重複的元素。以字符串爲例,如下所示:
str1 = 'Python'
str2 = 'Python'
print('str1 + str2 --> ',str1 + str2)
輸出結果:
str1 + str2 --> PythonPython
2.4 相乘
Python 中,使用數字 n 乘以一個序列會生成新的序列,內容爲原來序列被重複 n 次的結果。以字符串爲例,如下所示:
str = 'Python'
print('2 * str --> ',2 * str)
輸出結果:
2 * str --> PythonPython
2.5 檢查元素是否包含在序列中
Python 使用 in
關鍵字檢查某元素是否爲序列的成員,語法如下:
val in seq
- val:要檢查的元素;
- seq:指定的序列。
通過一個例子作進一步瞭解,以字符串爲例,如下所示:
str = 'Python'
print('on'in str)
輸出結果:
True
2.6 內置函數
函數 | 描述 |
---|---|
len() | 計算序列的長度 |
max() | 找出序列中的最大元素 |
min() | 找出序列中的最小元素 |
list() | 將序列轉換爲列表 |
str() | 將序列轉換爲字符串 |
sum() | 計算元素的和 |
sorted() | 對元素進行排序 |
enumerate() | 將序列組合爲一個索引序列,多用在 for 循環中 |
簡單舉幾個例子,如下所示:
str = 'dbcae'
print('len -->', len(str))
print('max -->', max(str))
print('sorted -->', sorted(str))
輸出結果:
len --> 5
max --> e
sorted --> ['a', 'b', 'c', 'd', 'e']