2011-05-11 26 views
1

在Python中,列表有兩種向末尾添加元素的方法:「append」和「extend」。其中一個將單個元素添加到列表中,另一個將每個元素從迭代添加到列表的末尾。你知道哪個是哪個?你知道嗎,而不必查看它?如果是這樣,請你分享一下你的祕密,記住哪個是哪個?如何記住list.append和list.extend中的哪一個是Python中的哪一個?

+1

我覺得這個問題對社區沒有用,答案太開放了。 – lamwaiman1988 2011-05-11 03:53:01

+0

我認爲這不是一個好問題,因爲它是主觀的。 – 2011-05-11 05:17:38

+0

也許它屬於程序員.stackexchange?我只是認爲記住哪些是有用的,而且我認爲其他人可能會遇到同樣的問題。 – 2011-05-11 06:08:10

回答

6

至少對我來說,他們的字面意義本身是足夠明確的,以區分他們。

一個用於追加字典的定義的:添加到最後
一個用於字典的定義的延伸:出彈力一段距離,空間,時間,或範圍;在兩點之間或超出某一點運行或延伸

1

你知道哪個是哪個?

  • 擴展:增加了一個列表
  • 追加:僅添加元素

你知道不必看它 嗎?如果是這樣,請你分享一下你的祕密:記住哪個是哪個?

大部分的經驗。要添加單個元素,您不要使用Extend。基本上,不要用E和E

0

追加是在最後的單個元素。如果你添加一個列表,不會引發任何異常,因爲在python中你幾乎可以添加一個列表。

Extend將列表添加到列表中,更像串聯。如果添加單個元素,則會引發異常。我敢打賭,你會學到它;-)

+0

這就是問題所在。當你使用錯誤的時候,你不能依靠獲得例外。如果你想擴展的時候追加一個列表,那就沒有錯誤。如果你用一個字符串擴展而不是當你真的想要追加時,你不會發生錯誤 - 你只需單獨添加每個字符。 – 2011-05-11 03:52:17

+0

@Ryan Thompson:這就是測試的目的。 – 2011-05-11 05:41:40

1

我沒有助記符。 「擴展」對我來說聽起來更長 - 「延長線」 - 「延長休息時間」 - 「廣泛的研究」 - 所有具有相似根源的詞語與延長或延長時間有關。

另一方面,附件不會增加很多附加的附件。美國傳統詞典:

添加或附加到更重要的實體或大小的東西;一個附件。

更具體地說,也許你可以想到延長線,它可能比延伸的線更容易延長。當我還是個孩子的時候,我們有一個 - 你叫他們什麼 - 「weed-whacker」是我能想到的唯一名字。它有一個3英尺的繩子。他們假設你將它附加到這五十英尺明亮的橙色延伸線之一上。相反,你可能不會打擾一個短的延長線 - 足長的延長線是相當無用的,尤其是當涉及到庭院工具。而像這樣的電話:

l = [1,2,3,4,5] 
l.extend([6]) 

同樣沒用。

0

使用的口頭禪:

  • 追加到列表 - 另一種元素。
  • 延伸一個列表 - 與另一個。
相關問題