關(guān)于python列表相關(guān)知識(shí)點(diǎn)
python列表
變量可以存儲(chǔ)一個(gè)元素,而列表是一個(gè)大容器,可以存儲(chǔ)N多個(gè)元素,程序可以方便的對(duì)這些數(shù)據(jù)進(jìn)行整體操作(可以存儲(chǔ)多個(gè)不同的數(shù)據(jù)類型)
列表相當(dāng)于其它語言的數(shù)組
正序索引 | 0 | 1 | 2 | 3 | 4 | 5 |
數(shù)據(jù) | 'hello' | 'world' | 'python' | 34.7 | 1234 | 'sycyyds' |
倒序索引 | -6 | -5 | -4 | -3 | -2 | -1 |
代碼:
lst = ['hello','world','python',98] print(id(lst)) //查看標(biāo)識(shí) print(type(lst)) //查看數(shù)據(jù)類型 print(lst) //輸出值
1.列表的創(chuàng)建與刪除
列表中的元素放置在“[]”中,兩個(gè)相鄰的元素之間使用“,”隔開。同一個(gè)列表中的元素可以為任何類型的數(shù)據(jù),如數(shù)值/字符串/列表等
列表的創(chuàng)建方式
1.使用中括號(hào)
2.調(diào)用內(nèi)置函數(shù)list()
# 1. 使用[] lst1 = ['hello','world',98] # 2. 使用內(nèi)置函數(shù)list() lst2 = list(['hello','world',98]) print(lst1) print(lst2)
列表的特點(diǎn)
1.列表元素按順序有序排序
lst = ['hello','world','python',98] print(lst)
2.索引映射唯一數(shù)據(jù)
正序索引 | 0 | 1 | 2 | 3 | 4 | 5 |
數(shù)據(jù) | 'hello' | 'world' | 'python' | 34.7 | 1234 | 'sycyyds' |
倒序索引 | -6 | -5 | -4 | -3 | -2 | -1 |
列表中的元素是通過索引來獲取的。列表當(dāng)中的正序索引是從0開始的,逆序是從-1開始的
lst = list(['hello','world',98,23]) # 正序從零開始 逆序從-1開始 print(lst[0],lst[-3]) #輸出為 hello world
3.列表可以存儲(chǔ)重復(fù)數(shù)據(jù)
lst = ['hello','world',23,'python','hello'] print(lst)
4.任意數(shù)據(jù)類型混存
任何類型的數(shù)據(jù)類型都可以存儲(chǔ)在列表中
5.根據(jù)需要?jiǎng)討B(tài)分配和回收內(nèi)存
不用擔(dān)心內(nèi)存不夠用的問題
2.列表的查詢操作
1.獲取索引
1.如果列表中存在N個(gè)相同元素,只返回列表中相同元素的第一個(gè)元素的索引
2.如果查詢?cè)卦诹斜碇胁淮嬖?,則會(huì)拋出ValueError
3.還可以在指定的start和stop之間進(jìn)行查找
lst1 = ['hello','world',98,'hello'] print(lst.index('hello')) #lst后面是英語的句號(hào) # 輸出為0 # 如果列表中有相同元素,只返回列表中相同元素的第一個(gè)元素的索引 # print(lst1.index('pathon')) 錯(cuò)誤: ValueError: 'pathon' is not in list print(lst.index('hello',0,3)) ##在0-3中查找,不包括3 lst2 = ['hello','world',98,'world','hello',123] # 獲取索引為2的元素 print(lst2[2]) # 獲取索引為-3的元素 print(lst2[-3]) # 獲取索引中沒有的元素 # print(lst2[10]) 錯(cuò)誤: IndexError: list index out of range
2.獲取多個(gè)元素
獲取列表中的多個(gè)元素
語法格式
列表名[ start : stop : step ]
切片的結(jié)果是原列表片段的拷貝
切片的范圍是[start : stop )是從start開始到stop結(jié)束,但不包括stop
step默認(rèn)步長為1
lst1 = [10,20,30,40,50,60,70,80] #start=1,stop=6,step=1 # print(lst1[1:6:1]) print('原列表',id(lst1)) lst2 = lst1[1:6:1] print('切的片段',id(lst2)) # 不寫步長 默認(rèn)步長為1 print(lst1[1:6]) print(lst1[1:6:]) # start=1,stop=6,step=2 print(lst1[1:6:2]) # start采用默認(rèn),stop=6,step=2 print(lst1[:6:2]) # start=1,stop采用默認(rèn),step=2 print(lst1[1::2]) # 步長為負(fù)數(shù) 默認(rèn)從最后一個(gè)元素開始 print('原列表:',lst1) # 逆序輸出 print(lst1[::-1]) #start=7,stop省略 step為-1 print(lst1[7::-1]) #start=6,stop=0 step為-2 print(lst1[6:0:-2])
3. 判斷指定的元素在列表中是否存在
元素 in 列表名
元素not in 列表名
列表的遍歷
for 迭代變量 in 列表名 :
操作
li = [10,20,'python','hello'] print(10 in li) #True print(100 in li) #False print(10 not in li) #False print(100 not in li) #True # 遍歷列表中的元素 print('__________________________________________') for item in li: print(item)
3.列表元素的增,刪,改
1.增
增加操作方法操作描述append()在列表末尾添加一個(gè)元素extend()在列表的末尾至少添加一個(gè)
增加操作 | 方法 | 操作描述 |
append() | 在列表末尾添加一個(gè)元素 | |
extend() | 在列表的末尾至少添加一個(gè)元素 | |
insert() | 在列表的任意位置添加一個(gè)元素 | |
切片 | 在列表的任意位置至少添加一個(gè)元素 |
元素insert()在列表的任意位置添加一個(gè)元素切片在列表的任意位置至少添加一個(gè)元素
print('_______________________向列表的末尾添加一個(gè)元素_______________________') lst3=[10,20,30] print('添加元素前:',lst3,id(lst3)) lst3.append(100) print('添加元素后:',lst3,id(lst3)) lst2=['hello','world'] lst3.append(lst2) # 將lst2當(dāng)作一個(gè)元素加到lst3后面 [10, 20, 30, 100, ['hello', 'world']] print(lst3) lst3.extend(lst2) # extend向列表中添加多個(gè)元素 [10, 20, 30, 'hello', 'world'] print(lst3) # 在任意(指定)位置上添加一個(gè)元素 insert(索引,要添加的數(shù)) lst3.insert(1,90) print(lst3) # 在任意位置上添加N多個(gè)元素 lst=[True,False,'hello'] lst3[1:]=lst #從1開始切,然后把lst中的值放到后面,用新的列表來替換切掉的列表 print(lst3)
2.刪
刪除操作 | 方法 | 操作描述 |
remove() | 一次移除一個(gè)元素 | |
有重復(fù)元素的只刪除第一個(gè) | ||
元素不存在時(shí)拋出ValueError | ||
pop() | 刪除一個(gè)指定索引位置上的元素 | |
確定索引不存在時(shí)拋出IndexError | ||
不指定索引,刪除最后一個(gè)元素 | ||
切片 | 一次至少刪除一個(gè)元素 | |
clear() | 清空列表 | |
del | 刪除列表 |
代碼:
lst=[10,20,30,40,50,60,30] lst.remove(30) #從列表中移除一個(gè)元素,如果有重復(fù)只移除一個(gè)元素 print(lst) # lst.remove(100) # ValueError: list.remove(x): x not in list # pop根據(jù)索引移除元素 lst.pop(1) print(lst) # lst.pop(7) IndexError: pop index out of range 如果指定的索引位置不存在,將拋出異常 # 如果不指定參數(shù),則刪除列表中最后一個(gè)元素 lst.pop() print(lst) print('___________切片操作刪除至少一個(gè)元素,將產(chǎn)生一個(gè)新的列表元素___________') new_list=lst[1:3] print('原列表',lst) print('切片后的列表',new_list) # 不產(chǎn)生新的對(duì)象,而是刪除原列表中的內(nèi)容 lst[1:3]=[] print(lst) # 清除列表中的所有元素 lst.clear() print(lst) # del 語句將列表刪除 del lst ### print(lst) NameError: name 'lst' is not defined.
3.改
為指定索引的元素賦予一個(gè)新值
為指定切片賦予一個(gè)新值
print('****************修改列表的值*****************') lst=[10,20,30,40] #一次修改一個(gè)值 lst[2]=100 print(lst) #[10,20,100,40] lst[1:3]=[300,400,500,600] print(lst) #[10,300,400,500,600,40]
4.列表元素的排序
1.sort()方法
對(duì)原列表的排序操作
print('_______________sort排序操作_________________') lst=[20,40,10,50,15] print('排序前的列表',lst,id(lst)) #開始排序,調(diào)用列表對(duì)象sort方法,升序排序 lst.sort() print('排序后的列表',lst,id(lst)) # 標(biāo)識(shí)沒有改變,在原列表中排序 # 通過指定關(guān)鍵字參數(shù),將列表中的元素降序排序 lst.sort(reverse=True) #reverse=True 表示降序,reverse=False 就是升序 print(lst) lst.sort(reverse=False) print(lst)
2.sorted方法
產(chǎn)生一個(gè)新的列表,原列表不發(fā)生改變
print('_________使用內(nèi)置函數(shù)sorted()對(duì)列表進(jìn)行排序,將產(chǎn)生一個(gè)新的列表對(duì)象__________') lst=[20,40,10,50,15] print('原列表',lst) # 開始排序 指定關(guān)鍵字參數(shù),實(shí)現(xiàn)列表元素升序排序 new_list=sorted(lst) print(lst) print(new_list) # 指定關(guān)鍵字參數(shù),實(shí)現(xiàn)列表元素降序排序 desc_list=sorted(lst,reverse=True) print(desc_list)
5.列表元素推導(dǎo)式
注意事項(xiàng):表示列表元素的表達(dá)式“中通常包含自定義變量”
print('____________________列表生成式________________________') lst=[i for i in range(1,10)] print(lst) #產(chǎn)生1-9 lst1=[i*i for i in range(1,10)] print(lst1) #產(chǎn)生1的平方-9的平方 # 產(chǎn)生列表元素為2,4,6,8,10 lst2=[2*i for i in range(1,6)] print(lst2)
到此這篇關(guān)于關(guān)于python列表相關(guān)知識(shí)點(diǎn)的文章就介紹到這了,更多相關(guān)python列表內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python使用opencv對(duì)圖像mask處理的方法
這篇文章主要介紹了python使用opencv對(duì)圖像mask處理的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-07-07Python編寫合并字典并實(shí)現(xiàn)敏感目錄的小腳本
這篇文章主要介紹了Python編寫合并字典并實(shí)現(xiàn)敏感目錄的小腳本,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-02-02python中計(jì)算一個(gè)列表中連續(xù)相同的元素個(gè)數(shù)方法
今天小編就為大家分享一篇python中計(jì)算一個(gè)列表中連續(xù)相同的元素個(gè)數(shù)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-06-06基于python實(shí)現(xiàn)監(jiān)聽Rabbitmq系統(tǒng)日志代碼示例
這篇文章主要介紹了基于python實(shí)現(xiàn)監(jiān)聽Rabbitmq系統(tǒng)日志代碼示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-11-11