Python四大金剛之列表詳解
前言
列表中可以存儲(chǔ)多個(gè)數(shù)據(jù)類型不同的對(duì)象
一個(gè)對(duì)象的內(nèi)存空間:
因此一個(gè)列表的內(nèi)存空間為:
a = 10 lst = ['hello' , 'a' , a ,'world'] print(lst) print(type(lst)) print(id(lst)) print('lst[0] type:' , type(lst[0]))
一、列表的創(chuàng)建:
內(nèi)存示意圖:
#創(chuàng)建列表的第一種方式: lst = ['hello','world','52525'] print(lst) #第二種方式內(nèi)置函數(shù)函數(shù)list() lst1 = list['nice','to','meet','you'] #錯(cuò)誤寫法 不是list[] print(lst1) lst2 = list(['nice','to','meet','you']) print(lst2) print("lst2[0]:" ,lst2[0]) print("lst2[-4]:",lst2[-4])
二、 列表的特點(diǎn):
三、查詢操作
#查詢 print(lst.index('52525')) #在一定范圍內(nèi)查找 print(lst.index(4,0,5)) #index中分別為 value,start,stop
獲取列表中多個(gè)元素:切片操作
切片結(jié)果?。?!相當(dāng)于返回的是原列表的部分元素組成的新列表
lst = ['hello','world','52525',123,4,2] print(lst) print(lst[0:3]) print(lst[0:4:2])
注意:當(dāng) x:x:-x,即步長(zhǎng)為負(fù)數(shù)時(shí),相當(dāng)于start從后往前
print("步長(zhǎng)為負(fù)數(shù)") print(lst[::-1]) print(lst[3:1:-1])
四、列表的遍歷:
lst = ['hello','world','52525',123,4,2] print(lst) for item in lst : print(item)
五、列表元素的增刪改
(一)增加
append()的內(nèi)存過(guò)程
lst = ['hello','world','52525',123,4,2] print(lst,id(lst)) lst.append(100) print(lst,id(lst)) #可以看出地址并沒(méi)有變化 lst1 = ['新的列表','即將插入'] lst.append(lst1) #將lst1作為一個(gè)元素插入在列表lst中(append只能插入一個(gè)元素) print(lst) lst.extend(lst1) #在lst的末尾一次性插入多個(gè)元素 print(lst) lst.insert(0,90) #insert(index,value) print(lst) #切片 lst3 = ['True','False','List'] lst[1:] = lst3 print(lst)
(二)刪
lst = ['hello','world','52525',123,4,2] print('remove刪除:') print(lst) lst.remove('hello') #刪除指定過(guò)的一個(gè)元素 print(lst) print('pop刪除:') #pop()根據(jù)v索引位置刪除 lst.pop(1) #刪除'5252‘ print(lst) print('切片刪除(產(chǎn)生新列表):') #切片 #此時(shí)產(chǎn)生了新的一個(gè)列表對(duì)象,不符合我們的期望 new_list = lst[1:4] print("new_list:",new_list) print(lst) print('切片刪除(不產(chǎn)生新列表,對(duì)原列表進(jìn)行刪除,用[]替代):') #不需要產(chǎn)生新的列表,對(duì)原列表進(jìn)行多個(gè)元素闡述 lst[1:4] = [] print(lst)
六、列表生成式
列表中的元素有一定的規(guī)則,才需要列表生成式
#列表生成式 lst = [i for i in range(0,11)] print(lst) lst = [i*i for i in range(0,11)] print(lst)
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python中json操作之json.loads、json.load、json.jumps及json.jump用法
最近在python里面用json讀取json文件,可是老是不成功,特此記錄一下,下面這篇文章主要給大家介紹了關(guān)于python中json操作之json.loads、json.load、json.jumps及json.jump用法的相關(guān)資料,需要的朋友可以參考下2022-08-08PythonWeb項(xiàng)目Django部署在Ubuntu18.04騰訊云主機(jī)上
這篇文章主要介紹了PythonWeb項(xiàng)目Django部署在Ubuntu18.04騰訊云主機(jī)上的相關(guān)知識(shí),本文通過(guò)代碼加文字說(shuō)明的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下2019-04-04python tkinter制作用戶登錄界面的簡(jiǎn)單實(shí)現(xiàn)
這篇文章主要介紹了python tkinter制作用戶登錄界面的簡(jiǎn)單實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04Python多進(jìn)程模式實(shí)現(xiàn)多核CPU并行計(jì)算
隨著計(jì)算機(jī)硬件的不斷發(fā)展,多核CPU已經(jīng)成為普及的硬件設(shè)備,在本文中,我們將重點(diǎn)介紹在Python中如何利用多進(jìn)程模式提高程序的執(zhí)行效率,感興趣的可以了解一下2023-05-05python網(wǎng)絡(luò)應(yīng)用開發(fā)知識(shí)點(diǎn)淺析
在本篇內(nèi)容中小編給學(xué)習(xí)python的朋友們整理了關(guān)于網(wǎng)絡(luò)應(yīng)用開發(fā)的相關(guān)知識(shí)點(diǎn)以及實(shí)例內(nèi)容,需要的朋友們參考下。2019-05-05face++與python實(shí)現(xiàn)人臉識(shí)別簽到(考勤)功能
這篇文章主要為大家詳細(xì)介紹了face++與python實(shí)現(xiàn)人臉識(shí)別簽到(考勤)功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-08-08Python BentoML構(gòu)建部署和管理機(jī)器學(xué)習(xí)模型技巧掌握
BentoML是一個(gè)開源的Python框架,旨在簡(jiǎn)化機(jī)器學(xué)習(xí)模型的打包、部署和管理,本文將深入介紹BentoML的功能和用法,提供詳細(xì)的示例代碼和解釋,幫助你更好地理解和應(yīng)用這個(gè)強(qiáng)大的工具2024-01-01