append vs. extend [Python]

このエントリーをはてなブックマークに追加

質問:

リストメソッドの append()extend()の違いって何?

By Claudiu | 質問日時: Oct 31 ‘08 at 5:55



回答1:

append:最後にオブジェクトを追加する

x = [1, 2, 3]
x.append([4, 5])
print (x)

は以下を出力

[1、2、3、[4、5]]


extend
iterableから要素を追加してリストを拡張

x = [1, 2, 3]
x.extend([4, 5])
print (x)

は以下を出力

[1、2、3、4、5]

By kender | 回答日時: Oct 31 ‘08 at 6:02



回答2:

appendは要素をリストに追加する、extendは最初のリストを別のリスト(かリストじゃない別の繰り返し可能なiterable)に連結させる

>>> li = ['a', 'b', 'mpilgrim', 'z', 'example']
>>> li
['a', 'b', 'mpilgrim', 'z', 'example']
>>> li.append("new")
>>> li
['a', 'b', 'mpilgrim', 'z', 'example', 'new']
>>> li.insert(2, "new")
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new']
>>> li.extend(["two", "elements"])
>>> li
['a', 'b', 'new', 'mpilgrim', 'z', 'example', 'new', 'two', 'elements']

Dive into
Python
より

By Harley Holcombe | 回答日時: Oct 31 ‘08 at 5:57



回答3:

この文脈だと、文字列も繰り返し可能ってことを覚えておくといいかな

>>> a = [1, 2]
>>> a
[1, 2]
>>> a.extend('hey')
>>> a
[1, 2, 'h', 'e', 'y']

By tatsujin | 回答日時: Nov 4 ‘08 at 15:19



Source: append vs. extend

共有 コメント