python list 中 remove 的騷操作/易錯點


在過去的某一天(2019.3.19),有個學弟問了一個關於python list中的一個問題:

比如我們已知一個列表 [3,4,5,6,5,4,3]
我們想刪除第一個為3的元素。

我們嘗試了如下幾種方式:

In [1]: print [3,4,5,6,5,4,3].remove(3)
None

In [2]: list = [3,4,5,6,5,4,3]

In [3]: print list.remove(3)
None

In [4]: list.remove(3)

In [5]: print list
[4, 5, 6, 5, 4]

結果如下:

remove

為什么會有上述的結果呢?

list.remove(3) 會默認刪除第一個為3的元素,直接通過 print 打印的是 remove 函數的默認的返回值,而 remove 函數默認有個初始值為 None ,你需要先執行覆蓋的命令,再去打印。

理解的一個難點就是 函數執行的先后順序 ,這一點可能很多朋友會忽略的一個問題,就像自動販賣機一樣,你得要先投幣,系統確認收款后再讓你指定的物品掉落,從而完成這樣一筆交易。

想要得到 被刪除指定元素后的列表 也是如此,你得要先刪除,再去打印出來,程序設計的思路亦或若此。


免責聲明!

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



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