您好,登錄后才能下訂單哦!
這篇文章主要介紹“python列表相關知識點有哪些”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“python列表相關知識點有哪些”文章能幫助大家解決問題。
變量可以存儲一個元素,而列表是一個大容器,可以存儲N多個元素,程序可以方便的對這些數據進行整體操作(可以存儲多個不同的數據類型)
列表相當于其它語言的數組
正序索引 | 0 | 1 | 2 | 3 | 4 | 5 |
數據 | 'hello' | 'world' | 'python' | 34.7 | 1234 | 'sycyyds' |
倒序索引 | -6 | -5 | -4 | -3 | -2 | -1 |
lst = ['hello','world','python',98] print(id(lst)) //查看標識 print(type(lst)) //查看數據類型 print(lst) //輸出值
列表中的元素放置在“[]”中,兩個相鄰的元素之間使用“,”隔開。同一個列表中的元素可以為任何類型的數據,如數值/字符串/列表等
列表的創建方式
1.使用中括號
2.調用內置函數list()
# 1. 使用[] lst1 = ['hello','world',98] # 2. 使用內置函數list() lst2 = list(['hello','world',98]) print(lst1) print(lst2)
lst = ['hello','world','python',98] print(lst)
正序索引 | 0 | 1 | 2 | 3 | 4 | 5 |
數據 | 'hello' | 'world' | 'python' | 34.7 | 1234 | 'sycyyds' |
倒序索引 | -6 | -5 | -4 | -3 | -2 | -1 |
列表中的元素是通過索引來獲取的。列表當中的正序索引是從0開始的,逆序是從-1開始的
lst = list(['hello','world',98,23]) # 正序從零開始 逆序從-1開始 print(lst[0],lst[-3]) #輸出為 hello world
lst = ['hello','world',23,'python','hello'] print(lst)
任何類型的數據類型都可以存儲在列表中
不用擔心內存不夠用的問題
1.如果列表中存在N個相同元素,只返回列表中相同元素的第一個元素的索引
2.如果查詢元素在列表中不存在,則會拋出ValueError
3.還可以在指定的start和stop之間進行查找
lst1 = ['hello','world',98,'hello'] print(lst.index('hello')) #lst后面是英語的句號 # 輸出為0 # 如果列表中有相同元素,只返回列表中相同元素的第一個元素的索引 # print(lst1.index('pathon')) 錯誤: 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]) 錯誤: IndexError: list index out of range
獲取列表中的多個元素
語法格式
列表名[ start : stop : step ]
切片的結果是原列表片段的拷貝
切片的范圍是[start : stop )是從start開始到stop結束,但不包括stop
step默認步長為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)) # 不寫步長 默認步長為1 print(lst1[1:6]) print(lst1[1:6:]) # start=1,stop=6,step=2 print(lst1[1:6:2]) # start采用默認,stop=6,step=2 print(lst1[:6:2]) # start=1,stop采用默認,step=2 print(lst1[1::2]) # 步長為負數 默認從最后一個元素開始 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])
元素 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)
增加操作方法操作描述append()在列表末尾添加一個元素extend()在列表的末尾至少添加一個
增加操作 | 方法 | 操作描述 |
append() | 在列表末尾添加一個元素 | |
extend() | 在列表的末尾至少添加一個元素 | |
insert() | 在列表的任意位置添加一個元素 | |
切片 | 在列表的任意位置至少添加一個元素 |
元素insert()在列表的任意位置添加一個元素切片在列表的任意位置至少添加一個元素
print('_______________________向列表的末尾添加一個元素_______________________') lst3=[10,20,30] print('添加元素前:',lst3,id(lst3)) lst3.append(100) print('添加元素后:',lst3,id(lst3)) lst2=['hello','world'] lst3.append(lst2) # 將lst2當作一個元素加到lst3后面 [10, 20, 30, 100, ['hello', 'world']] print(lst3) lst3.extend(lst2) # extend向列表中添加多個元素 [10, 20, 30, 'hello', 'world'] print(lst3) # 在任意(指定)位置上添加一個元素 insert(索引,要添加的數) lst3.insert(1,90) print(lst3) # 在任意位置上添加N多個元素 lst=[True,False,'hello'] lst3[1:]=lst #從1開始切,然后把lst中的值放到后面,用新的列表來替換切掉的列表 print(lst3)
2.刪
刪除操作 | 方法 | 操作描述 |
remove() | 一次移除一個元素 | |
有重復元素的只刪除第一個 | ||
元素不存在時拋出ValueError | ||
pop() | 刪除一個指定索引位置上的元素 | |
確定索引不存在時拋出IndexError | ||
不指定索引,刪除最后一個元素 | ||
切片 | 一次至少刪除一個元素 | |
clear() | 清空列表 | |
del | 刪除列表 |
lst=[10,20,30,40,50,60,30] lst.remove(30) #從列表中移除一個元素,如果有重復只移除一個元素 print(lst) # lst.remove(100) # ValueError: list.remove(x): x not in list # pop根據索引移除元素 lst.pop(1) print(lst) # lst.pop(7) IndexError: pop index out of range 如果指定的索引位置不存在,將拋出異常 # 如果不指定參數,則刪除列表中最后一個元素 lst.pop() print(lst) print('___________切片操作刪除至少一個元素,將產生一個新的列表元素___________') new_list=lst[1:3] print('原列表',lst) print('切片后的列表',new_list) # 不產生新的對象,而是刪除原列表中的內容 lst[1:3]=[] print(lst) # 清除列表中的所有元素 lst.clear() print(lst) # del 語句將列表刪除 del lst ### print(lst) NameError: name 'lst' is not defined.
為指定索引的元素賦予一個新值
為指定切片賦予一個新值
print('****************修改列表的值*****************') lst=[10,20,30,40] #一次修改一個值 lst[2]=100 print(lst) #[10,20,100,40] lst[1:3]=[300,400,500,600] print(lst) #[10,300,400,500,600,40]
對原列表的排序操作
print('_______________sort排序操作_________________') lst=[20,40,10,50,15] print('排序前的列表',lst,id(lst)) #開始排序,調用列表對象sort方法,升序排序 lst.sort() print('排序后的列表',lst,id(lst)) # 標識沒有改變,在原列表中排序 # 通過指定關鍵字參數,將列表中的元素降序排序 lst.sort(reverse=True) #reverse=True 表示降序,reverse=False 就是升序 print(lst) lst.sort(reverse=False) print(lst)
產生一個新的列表,原列表不發生改變
print('_________使用內置函數sorted()對列表進行排序,將產生一個新的列表對象__________') lst=[20,40,10,50,15] print('原列表',lst) # 開始排序 指定關鍵字參數,實現列表元素升序排序 new_list=sorted(lst) print(lst) print(new_list) # 指定關鍵字參數,實現列表元素降序排序 desc_list=sorted(lst,reverse=True) print(desc_list)
注意事項:表示列表元素的表達式“中通常包含自定義變量”
print('____________________列表生成式________________________') lst=[i for i in range(1,10)] print(lst) #產生1-9 lst1=[i*i for i in range(1,10)] print(lst1) #產生1的平方-9的平方 # 產生列表元素為2,4,6,8,10 lst2=[2*i for i in range(1,6)] print(lst2)
關于“python列表相關知識點有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。