python的原地操作


什么是原地操作?先來看看一個例子

列表l在使用append方法添加了一個元素后,沒有產生副本,再次打印l時多了一個元素5,這個append就是原地操作的方法,由此可見原地操作具有以下特性:

1.不產生返回值(返回值為None)

2.改變作用對象(不會產生副本)

因此不可變對象沒有原地操作(不符合2),但是可變的數據類型(如列表,字典等)的方法就一定是原地操作嗎?

如圖所示,pop和popitem方法的使用對象是可變的數據類型,但是由於返回的不是None,因此不是原地操作,在來看看不可變對象字符串的情況

 

upper方法返回了一個副本,但是原來的s並沒有改變,因此不是原地操作





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM