1.序列
1.1基本概念
??序列是Python中最基本的一中數(shù)據(jù)結(jié)構(gòu)。序列用于保存一組有序的數(shù)據(jù)训枢,所有的數(shù)據(jù)在序列當(dāng)中都有一個(gè)唯一的位置(索引)并且序列中的數(shù)據(jù)會(huì)按照添加的順序來(lái)分配索引。
??數(shù)據(jù)結(jié)構(gòu)指計(jì)算機(jī)中數(shù)據(jù)存儲(chǔ)的方式睦刃。
1.2序列的分類
1??可變序列(序列中的元素可以改變):例如 列表(list)字典(dict)
2??不可變序列(序列中的元素不能改變):例如 字符串(str) 元組(tuple)
2.列表
??列表是Python中的一個(gè)對(duì)象
??列表的作用
??列表可以保存多個(gè)有序的數(shù)據(jù)
??列表是用來(lái)存儲(chǔ)對(duì)象的對(duì)象
2.1列表的使用
?列表的創(chuàng)建:通過(guò)[]來(lái)創(chuàng)建一個(gè)空列表眯勾。
2.2切片
1??切片是指從現(xiàn)有列表中獲得一個(gè)子列表
2??通過(guò)切片來(lái)獲取指定的元素
3??語(yǔ)法:列表[起始:結(jié)束:步長(zhǎng)]
4??通過(guò)切片獲取元素時(shí)吃环,會(huì)包括起始位置的元素洋幻,不會(huì)包括結(jié)束位置的元素
5??起始位置和結(jié)束位置的索引可以不寫
①如果省略結(jié)束位置,則會(huì)從當(dāng)前的開(kāi)始位置一直截取到最后
②如果省略開(kāi)始位置竭沫,則會(huì)從第一個(gè)元素截取到結(jié)束的元素骑篙,但是不包括結(jié)束的元素。
③如果開(kāi)始位置和結(jié)束位置都省略谎势,則會(huì)從第一個(gè)元素開(kāi)始截取到最后一個(gè)元素
6??步長(zhǎng)表示每次獲取元素的間隔脏榆,默認(rèn)是1(可以省略不寫)
7??步長(zhǎng)不能為0台谍,但可以為負(fù)數(shù)。
3.通用操作
??+ 和 *
??+可以將兩個(gè)列表拼接成一個(gè)列表
??*可以將列表重復(fù)指定的次數(shù)(注意2個(gè)列表不能夠做乘法坞生,要和整數(shù)做乘法運(yùn)算)
??in 和 not in
??in用來(lái)檢查指定元素是否在列表當(dāng)中
??not in用來(lái)檢查指定元素是否不在列表當(dāng)中
??len()獲取列表元素的個(gè)數(shù)
??max()獲取列表中最大值
??min()獲取列表中最小值
??list.index(x,y,z)
?第一個(gè)參數(shù)x:獲取指定元素在列表中的位置
?第二個(gè)參數(shù)y:表示查找的起始位置
?第三個(gè)參數(shù)z:表示查找的結(jié)束位置
??list.count(x)統(tǒng)計(jì)指定元素在列表中出現(xiàn)的次數(shù)
4.修改列表
??通過(guò)切片來(lái)修改(其實(shí)就是給切片的內(nèi)容重新賦值,但是賦值的內(nèi)容必須是一個(gè)序列)
??當(dāng)設(shè)置了步長(zhǎng)時(shí)炎咖,序列中元素的個(gè)數(shù)必須和切片中元素的個(gè)數(shù)保持一致
??通過(guò)切片來(lái)刪除元素
??del list[起始:結(jié)束]
??list = []
5.列表的方法
1??append()向列表的最后添加一個(gè)元素
2??Insert(x,y)向列表指定位置插入一個(gè)元素 參數(shù)x:要插入的位置 參數(shù)y:要插入的元素
3??extend(iterable)使用一個(gè)新的序列來(lái)擴(kuò)展當(dāng)前序列(它會(huì)將該序列中的元素添加到列表中) 參數(shù)需要傳遞一個(gè)序列
4??pop()根據(jù)索引刪除并返回指定元素乘盼,有返回值
5??remove()刪除指定元素(如果相同值的元素有多個(gè),只會(huì)刪除第一個(gè))
6??reverse()翻轉(zhuǎn)列表
7??sort(key=None,reverse=False)用來(lái)對(duì)列表的元素進(jìn)行排序 reverse:Ture反序:Fslae正序
6.遍歷列表
6.1 for循環(huán)
??通過(guò)for循環(huán)來(lái)遍歷列表
image.png
image.png