python切片中內(nèi)存的注意事項(xiàng)總結(jié)
1、由于 Python 列表的切片會(huì)在內(nèi)存中創(chuàng)建新對(duì)象,因此需要注意的另一個(gè)重要函數(shù)是itertools.islice。
2、通常需要遍歷切片,而不僅僅是在內(nèi)存中靜態(tài)創(chuàng)建它。islice非常適合這個(gè)。
一個(gè)警告,它不支持負(fù)的參數(shù)start,stop或者step,如果這是一個(gè)問題,您可能需要計(jì)算指標(biāo)或反向迭代提前。
length = 100 last_nine_iter = itertools.islice(list(range(length)), length-9, None, 1) list_last_nine = list(last_nine_iter)
現(xiàn)在:
>>> list_last_nine [91, 92, 93, 94, 95, 96, 97, 98, 99]
列表切片制作副本的事實(shí)是列表本身的一個(gè)特征。如果您對(duì) Pandas DataFrame 等高級(jí)對(duì)象進(jìn)行切片,它可能會(huì)返回原始視圖,而不是副本。
內(nèi)容擴(kuò)展:
語法:
nuList[start:end:direction]
start -->起始下標(biāo)(direction = 1時(shí),默認(rèn)是0;direction = -1時(shí)默認(rèn)是-1)
start -->結(jié)束下標(biāo)(direction = 1時(shí),默認(rèn)是len(nuList)-1;direction = -1時(shí)默認(rèn)是-(len(nuList)-1))
direction --> 默認(rèn)是1,切片方向從左往右;-1時(shí),切片方向從右往左
1.只包含左邊的端數(shù)據(jù),不包含右邊的端數(shù)據(jù)
print(nuList[1:3])
結(jié)果是:[1,2]
2.按照不同的方向返回元素
print(nuList[::])
結(jié)果是:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
print(nuList[::-1])
結(jié)果是:[9, 8, 7, 6, 5, 4, 3, 2, 1, 0]
3.嚴(yán)格按照方向順序截取
print(nuList[3:1]) #從左往右,下標(biāo)3開始切,但是無法找到下標(biāo)1
print(nuList[-1:-3]) #從左往右,下標(biāo)-1開始切,但是無法找到下標(biāo)-3
print(nuList[-3:-1:-1]) #從右往左,下標(biāo)-3開始切,但是無法找到下標(biāo)-1
結(jié)果都為:[]
print(nuList[1:-1]) #從左往右,下標(biāo)1開始切,能找到-1下標(biāo)
結(jié)果:[1, 2, 3, 4, 5, 6, 7, 8]
print(nuList[-1:1:-1]) #從右往左,下標(biāo)-1開始切,能找到1下標(biāo)
結(jié)果:[9, 8, 7, 6, 5, 4, 3, 2]
到此這篇關(guān)于python切片中內(nèi)存的注意事項(xiàng)總結(jié)的文章就介紹到這了,更多相關(guān)python切片中內(nèi)存的注意事項(xiàng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)初始化不同的變量類型為空值
這篇文章主要介紹了Python實(shí)現(xiàn)初始化不同的變量類型為空值,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06
Python實(shí)現(xiàn)類別變量的獨(dú)熱編碼
這篇文章主要為大家詳細(xì)介紹了基于Python下OneHotEncoder與pd.get_dummies兩種方法,實(shí)現(xiàn)機(jī)器學(xué)習(xí)中最優(yōu)的編碼方法——獨(dú)熱編碼的方法,需要的可以參考一下2023-02-02
大語言模型的開發(fā)利器langchainan安裝使用快速入門學(xué)習(xí)
這篇文章主要為大家介紹了大語言模型的開發(fā)利器langchain安裝使用快速入門學(xué)習(xí),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-07-07
Python實(shí)現(xiàn)跨平臺(tái)桌面應(yīng)用程序開發(fā)的完整指南
在當(dāng)今軟件開發(fā)領(lǐng)域,跨平臺(tái)應(yīng)用程序開發(fā)變得越來越重要,下面我們就來探討使用Python進(jìn)行跨平臺(tái)桌面應(yīng)用程序開發(fā)的主要框架,工具和最佳實(shí)踐吧2025-04-04
python高手之路python處理excel文件(方法匯總)
用python來自動(dòng)生成excel數(shù)據(jù)文件。python處理excel文件主要是第三方模塊庫xlrd、xlwt、xluntils和pyExcelerator,除此之外,python處理excel還可以用win32com和openpyxl模塊2016-01-01
Python+Tkinter實(shí)現(xiàn)軟件自動(dòng)更新與提醒
這篇文章主要為大家詳細(xì)介紹了Python如何利用Tkinter編寫一個(gè)軟件自動(dòng)更新與提醒小程序,文中的示例代碼簡潔易懂,感興趣的小伙伴可以動(dòng)手嘗試一下2023-07-07
Python中Numpy和Matplotlib的基本使用指南
numpy庫處理的最基礎(chǔ)數(shù)據(jù)類型是由同種元素構(gòu)成的多維數(shù)組(ndarray),而matplotlib 是提供數(shù)據(jù)繪圖功能的第三方庫,其pyplot子庫主要用于實(shí)現(xiàn)各種數(shù)據(jù)展示圖形的繪制,這篇文章主要給大家介紹了關(guān)于Python中Numpy和Matplotlib的基本使用指南,需要的朋友可以參考下2021-11-11

