一、語法基礎(chǔ)列表
1.什么是列表(list)
1)列表:
python給我們提供好的容器型數(shù)據(jù)類型
以[]作為容器的標志,里面多個元素用‘,’隔開
----列表是可變的(元素的個數(shù),元素的值,元素的順序)是可變的-元素支持增刪改
----列表式有序的-支持下標工作
表示方式: [元素1,元素2,元素3,....]
元素的個數(shù)又代表著列表的長度
2)列表元素
列表中的元素可以是任何類型的數(shù)據(jù),同一個列表中的元素可以不一樣
[12,121.8,True,'abc',[1,2],(10,100),{1,2}]
賦值語句不能充當元素
2.查-獲取列表中的數(shù)據(jù)
1)獲取單個元素
a.語法
列表[下標] - 獲取列表中指定下標對應(yīng)的元素-[元素1,元素2,元素3...][下標]
b.
列表 ** - 列表值,保存列表的變量,結(jié)果是列表的表達式
[ ] : 固定寫法
下標 ** - 列表中的每個元素都會對應(yīng)一個下標來表示這個元素在列表中的位置。
下標范圍 - 0~列表長度-1,從前往后一次增加(0表示第一個元素)
-1~-列表長度,從后往前依次遞減(-1表示最后一個元素)
[1,2,3]+['a','b','c']=[1,2,3,'a','b','c']
注意::下標不能越界,否則報錯
切片的時候下標可以越界
2)獲取部分元素(切片)
a.語法:
列表[開始下標:結(jié)束下標:步長]-從開始下標開始獲取,下標值每次增加步長去獲取下,
到下標結(jié)束的位置一個元素
列表[M:N:step] - 獲取range(M,N,STEP)產(chǎn)生的數(shù)字序列作為下標的對應(yīng)的所有元素
注意?。毫斜砬衅慕Y(jié)果還是列表,新列表中的元素是原列表元素中的一部分
b.說明:
步長step>0(為正),
下標是從前往后取,此時開始下標的所在位置必須在結(jié)束下標的所在的位置的前面,否則為空列表
步長step<0(為負),
下標是從后往前取,此時開始下標的所在位置必須在結(jié)束下標的所在的位置的后面
3)切片,省略步長跟下標
a.省略步長 - 列表[開始下標:結(jié)束下標] - 相當于步長為1
b.省略開始下標 - 列表[:結(jié)束下標:步長] / 列表[:結(jié)束下標]
如果步長是正的,從最開始第一個元素往后取
如果步長是負的,從最后一個元素往前取
c.省略結(jié)束下標 - 列表[開始下標::步長]/列表[開始下標:] -從該方向取到最后一個元素為止
d.列表[::步長] -
1.步長為正,從前往后取一遍
2.步長為負,從后往前一遍
/列表[:](復(fù)制)
注意:程序中如果使用[:]可以改變儲存的位置,
4)遍歷列表 - 將列表中的元素一個個取出來
a.直接遍歷獲取元素
for 變量 in 列表:
循環(huán)體
b.通過下標來遍歷:
length = len(列表) - 用于獲取列表長度
for 變量 in range(length):
元素=列表[變量]
二、列表的增刪改減
1.增 - 添加元素
1)列表.append(元素) - 在列表中的末尾添加指定的元素
movie=['loser','lemon']
movie.append('打上花火')
print(movie)=['loser', 'lemon', '打上花火']
2)列表.insert(下標,元素) - 在列表指定的下標前添加指定的元素
movie=['loser','lemon']
movie.insert(2,'打上花火哈哈')
print(movie)=['loser', 'lemon', '打上花火哈哈']
2.刪 - 刪除列表中的元素
1)del 列表[下標] - 刪除指定下標對應(yīng)的元素(下標不能越界,越界就會報錯)
movie=['loser','lemon']
del movie[1]
print(movie)=['loser']
2)列表.remove(元素) - 刪除列表中指定的元素
注意:a.如果元素不存在,會報錯
b.如果元素有多個,只會刪除第一個
num=[2,3,4,2]
num.remove(2)
print(num)
3)列表.pop() - 取出列表中最后一個元素,會返回被取出的元素
列表.pop(下標) - 取出列表中指定下標對應(yīng)的元素,返回被取出的元素
num=[7,2,1,9,5,6]
num1=num.pop(3)
print(num)
print(num1)
3.改 - 修改元素的值
列表[下標] = 值 -將列表中指定下標對應(yīng)的元素修改成指定的值
nums = [10, 2, 45, 2, 9, -2]
nums[0]=100
print(nums)