【python基礎】--列表相關基礎知識
1.定義列表
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘]
索引(下標)都是從0開始的,例中的"xiaoyi"索引位置是0,"xiaoer"的索引位置就是1
引申:如何判斷當前數據類型是否為一個列表格式?可以使用python內置的type方法進行判斷,使用方法如下
type(a) is list
通過返回的布爾值進行判斷,True為是,Flase為否
2.增刪改查
查:
輸出列表中第一個元素print (a[0])
輸出列表中全部的內容:print (a[0:])
#以下為列表切片查詢
輸出列表中除最後一個元素外的全部內容:print (a[0:-1])
輸出列表中從左到右取值,隔一個取一個值: print (a[0::2])#步長為2
輸出列表中全部內容,從右到左取值: print (a[::-1])
輸出列表中從右到左取值,隔一個取一個值: print(a[::-2])
固定位置從右向左隔一個取一個值,以‘xiaoba’為開始: print (a[7::-2])
增:
#兩種方法向列表中增加數據:insert/append
兩種方法的區別:append是直接追加元素到列表的最後一位,insert可以指定元素位置,插入元素到任何指定的索引
append實例:將‘xiaoshi’插入到a列表的最後一位
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘] a.append(‘xiaoshi‘) print(a)
insert實例:將‘xiaoshi’插入到a列表的第二位
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘] a.insert(1,‘xiaoshi‘) print(a)
改:
沒有特定的方法,通過重新賦值修改即可。
例1,此處需將索引值為1的‘xiaoer’修改為‘xiaoshi’:
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘] a[1]=‘xiaoshi‘ print(a)
例1,此處需將索引值為1和2的‘xiaoer’,‘xiaosan‘ 批量修改為‘xiaoshi’,‘xiaoshiyi‘:
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘] a[1:3]=[‘xiaoshi‘,‘xiaoshiyi‘] print(a)
刪:
#三種方法刪除列表中的數據:remove/pop/del
三種方法的區別:remove是通過元素來刪除數據的, pop是通過索引刪除的,並且,pop是可以返回刪除的值的。del是python內置的刪除方法,除了可以用於刪除列表數據,還可以用於刪除其他形式的數據。這裏del可以都用於刪除整個a變量
remove方法實例:刪除列表中的‘xiaoer’
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘] a.remove(‘xiaoer‘) print(a)
pop方法實例:刪除列表中‘xiaoer’,並用變量b接收刪除的對象值,打印b查看刪除的數據
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘] b=a.pop(1) print(a) print(b)
#註:pop方法若不指定刪除位置,則默認刪除列表最後一列值。
del方法實例:刪除列表中的‘xiaoer’
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘] del a[1] print(a)
#註:remove和pop只能刪除單個值,del可以通過切片刪除多個
引申:使用clear方法,可將列表內容進行清空,使用方法:a.clear()
列表的其他方法:
1.count:用於統計某個元素在列表中出現的次數
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘].count(‘xiaoyi‘) print(a)
2.extend:用於將某列表的數據追加至原列表中(擴展)
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘] b=[‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘] a.extend(b) print(a)
3.index:用於知道元素的值,使用元素值查找索引
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘] print(a.index(‘xiaosan‘))
4.reverse:將列表中的元素順序整體倒置
a=[‘xiaoyi‘,‘xiaoer‘,‘xiaosan‘,‘xiaosi‘,‘xiaowu‘,‘xiaoliu‘,‘xaioqi‘,‘xiaoba‘,‘xiaojiu‘] a.reverse() print(a)
執行結果:[‘xiaojiu‘, ‘xiaoba‘, ‘xaioqi‘, ‘xiaoliu‘, ‘xiaowu‘, ‘xiaosi‘, ‘xiaosan‘, ‘xiaoer‘, ‘xiaoyi‘]
5.sort:將列表中的元素按照Ascii編碼進行從小到大的排序
b=[1,3,4,8,2,9,7] b.sort() print(b)
結果:[1, 2, 3, 4, 7, 8, 9]
引申:sort方法能不能從大到小排序?
可以,sort方法內置了一個remove條件,默認remove=Flase,是從小到大的排序,通過sort內置的方法,在調用sort方法時,將remove=True即可
b=[1,3,4,8,2,9,7] b.sort(reverse=True)
print(b)
結果:[9, 8, 7, 4, 3, 2, 1]
6.查詢某一個元素是否存在於列表中
兩種方法,1是用剛才提到的count方法,若列表名.count("元素名")結果為0,則表示此元素不在列表中。
2是使用print(“元素名” in 列表名)的方式進行查詢,返回結果為Flase,則表示此元素不在列表中;返回True則存在
【python基礎】--列表相關基礎知識