在過去的某一天(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]
結果如下:

為什么會有上述的結果呢?
list.remove(3) 會默認刪除第一個為3的元素,直接通過 print 打印的是 remove 函數的默認的返回值,而 remove 函數默認有個初始值為 None ,你需要先執行覆蓋的命令,再去打印。
理解的一個難點就是 函數執行的先后順序 ,這一點可能很多朋友會忽略的一個問題,就像自動販賣機一樣,你得要先投幣,系統確認收款后再讓你指定的物品掉落,從而完成這樣一筆交易。
想要得到 被刪除指定元素后的列表 也是如此,你得要先刪除,再去打印出來,程序設計的思路亦或若此。
