python中append的使用


沒有系統地學習過python,最近在append的使用上遇到了大問題,吃到了苦頭

之前一直單純地認為通過append把數添加到list中,不需要提前開空間,非常便利,但卻沒有意識到這個過程並不是值傳遞,借用簡書博主Mr_Bluyee的說法,這是傳對象(call by object),因為在python中一切皆為對象

那這個問題具體是什么樣的呢?還是用例子來說明吧

定義了一個list s,將生成的數組 t 放進去,改變 t 中的一個值,再放進 ,預想的結果是前后兩個 是不一樣的

 

然而結果並非如此

 

 

原因是append傳對象,對象改變的話,前后傳進去的都會受到影響,如果不想受到影響的話,我最初找到的方法是重新定義

 

 

 后來我發現,這個方法有很大的局限性,如果用copy()這個函數,就可以不用重新定義,同時保證傳入的 不會跟着一起變

 

 


免責聲明!

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



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