第七課
1. 序列(sequence)
1.1 基本概念
? 序列是Python中最基本的一種數(shù)據(jù)結構。序列用于保存一組有序的數(shù)據(jù),所有的數(shù)據(jù)在序列當中都有一個唯一的位置(索引)并且序列中的數(shù)據(jù)會按照添加的順序來分配索引
? 數(shù)據(jù)結構指計算機中數(shù)據(jù)存儲的方式
1.2 序列的分類
? 可變序列(序列中的元素可以改變):例如 列表(list)字典(dict)
? 不可變序列(序列中的元素不能改變):例如 字符串(str)元組(tuple)
2. 列表(list)
? 列表是Python中的一個對象
? 列表的作用
? 列表中可以保存多個有序的數(shù)據(jù)
? 列表是用來存儲對象的對象
2.1 列表的使用
? 列表的創(chuàng)建:通過[]來創(chuàng)建一個空列表
2.2 切片
? 切片是指從現(xiàn)有列表中獲得一個子列表
? 通過切片來獲取指定的元素
? 語法: 列表[起始 : 結束 : 步長]
? 通過切片獲取元素時,會包括起始位置的元素,不會包括結束位置的元素
? 起始位置和結束位置的索引可以不寫
? 如果省略結束位置, 則會從當前的開始位置一直截取到最后
? 如果省略開始位置, 則會從第一個元素截取到結束的元素,但是不包括結束的元素
? 如果開始位置和結束位置都省略, 則則會從第一個元素開始截取到最后一個元素
? 步長表示每次獲取元素的間隔,默認是1(可以省略不寫)
? 步長不能是0,但可以是是負數(shù)
3. 通用操作
? + 和 *
? + 可以將兩個列表拼接成一個列表
? * 可以將列表重復指定的次數(shù) (注意2個列表不能夠做乘法,要和整數(shù)做乘法運算)
? in 和 not in
? in用來檢查指定元素是否在列表當中
? not in 用來檢查指定元素是否不在列表當中
? len() 獲取列表中元素的個數(shù)
? max() 獲取列表中最大值
? min() 獲取列表中最小值
? list.index(x[, start[, end]])
? 第一個參數(shù) 獲取指定元素在列表中的位置
? 第二個參數(shù) 表示查找的起始位置
? 第三個參數(shù) 表示查找的結束位置
? list.count(x) 統(tǒng)計指定元素在列表中出現(xiàn)的個數(shù)
4. 修改列表
? 通過切片來修改(起始就是給切片的內容重新賦值,但是賦值的內容必須是一個序列)
? 當設置了步長時,序列中元素的個數(shù)必須和切片中元素的個數(shù)保持一致
? 通過切片來刪除元素
? del list[起始 : 結束]
? list = []
5. 列表的方法
? append() 像列表的最后添加一個元素
? insert(arg1,arg2) 像列表指定位置插入一個元素 參數(shù)1:要插入的位置 參數(shù)2:要插入的元素
? extend(iterable) 使用一個新的序列來擴展當前序列(它會將該序列的中元素添加到列表中) 參數(shù)需要傳遞一個序列
? pop() 根據(jù)索引刪除并返回指定元素
? remove() 刪除指定元素 (如果相同值的元素有多個,只會刪除第一個)
? reverse() 翻轉列表
? sort(key=None,reverse=False) 用來對列表中的元素進行排序 reverse:True反序;False 正序
list = [1, 2, 3, 1, 2, 3, 4, 5]
#print(list[2])
list.reverse()#反轉序列
print(list)
list.sort()
print(list)
list.sort(reverse = True)
print(list)
>>>
[5, 4, 3, 2, 1, 3, 2, 1]
[1, 1, 2, 2, 3, 3, 4, 5]
[5, 4, 3, 3, 2, 2, 1, 1]
6. 遍歷列表
6.1 for循環(huán)
? 通過for循環(huán)來遍歷列表
語法
for 變量 in 序列(遍歷的規(guī)則):
代碼塊
? 注意: for循環(huán)的代碼塊會執(zhí)行多次,序列中有幾個元素就會執(zhí)行幾次。每執(zhí)行一次就會將序列中的一個元素賦值給變量,所以我們可以通過變量來獲取列表中的元素
6.2 range(start, stop[, step])
參數(shù)說明
? ·start: 計數(shù)從 start 開始。默認是從 0 開始。例如range(5)等價于range(0, 5);
? stop: 計數(shù)到 stop 結束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]沒有5
? step:步長,默認為1。例如:range(0, 5) 等價于 range(0, 5, 1)