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

