溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python切片中內(nèi)存的注意事項(xiàng)是什么

發(fā)布時(shí)間:2021-08-10 12:00:15 來(lái)源:億速云 閱讀:145 作者:小新 欄目:開發(fā)技術(shù)

這篇文章主要介紹了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ò)展:

語(yǔ)法:

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開始切,但是無(wú)法找到下標(biāo)1

print(nuList[-1:-3]) #從左往右,下標(biāo)-1開始切,但是無(wú)法找到下標(biāo)-3

print(nuList[-3:-1:-1]) #從右往左,下標(biāo)-3開始切,但是無(wú)法找到下標(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]

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“python切片中內(nèi)存的注意事項(xiàng)是什么”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI