【python實戰】append()函數的兩三事

昨天,同實驗室的善良可愛又nice的小姐姐coding的時候遇到了一個令人意想不到的bug(也可能是我們資歷太淺),主題就是python中的append()函數, 所以就把這個令人抓狂的過程記錄下來,按需自取,用師弟的話來說就是 “戰勝恐懼,微笑面對”

我們先來看一下append() 的基本操作:就是在list中添加元素或者一個新的list。
在這裏插入圖片描述
那麼舉一反三,我們想在元素爲list的list裏append新的list,就是:
在這裏插入圖片描述
然後我們今天的重點來了,鏘鏘鏘鏘! 我們想在元素爲list的list裏面append的是某一list的元素(好吧,我知道這句話很繞口,但是還是很好理解的),常規操作是:
在這裏插入圖片描述
如果將long[i]定義爲一箇中間變量,發現輸出的結果就不對了:
在這裏插入圖片描述
我們把i, x, long[i]print出來,可以發現每次的x是一個固定值,都是50,而long[i]每次都是在變化的,所以我們中間變量x實際上是一個固定值,因此我們a在append以後都是50,而不是long[i]的值。
在這裏插入圖片描述
我們可以用一個簡單的小例子來解釋一下Python的這種數據的特性,例子如下。【我們可以將這種對於變量賦值的過程理解爲指針,用例子來說明,變量a指向的是常數3,表面上看變量b指向的變量a,實際上變量b指向的是變量a指向的常數3,所以,我們在更改變量a的指向爲常數5時,變量b的指向常數並沒有變化,所以b的值還是3】
在這裏插入圖片描述


在我們研究append()的過程中呢,我們還發現了一些有趣的事情(大概也是個未來的bug吧),寫在這裏也和大家分享一下我們的莫名的快(喪)樂(心)源(病)泉(狂)

(1)python.append()函數和python.extend()函數的區別:
python.append()函數是將新的東西添加進去,可以是元素,可以是列表,但是python.extend()函數是將新的列表中的元素添加進去,所以在輸出上還是有很大區別的,完全是兩個不同的列表。
在這裏插入圖片描述
(2)python.append()函數不要等於!!!
這個就是append()函數的語法和寫法的問題了,直接append()就可以啦~
在這裏插入圖片描述

發佈了56 篇原創文章 · 獲贊 106 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章