与えられた2つのリスト:
x = [1,2,3]
y = [4,5,6]
構文は次のとおりです。
- 今のように挿入
x
しますか?y
y
[1, 2, 3, [4, 5, 6]]
- のすべてのアイテムを、次のように
x
挿入します。y
y
[1, 2, 3, 4, 5, 6]
どういう意味append
ですか?
>>> x = [1,2,3]
>>> y = [4,5,6]
>>> x.append(y)
>>> x
[1, 2, 3, [4, 5, 6]]
またはマージしますか?
>>> x = [1,2,3]
>>> y = [4,5,6]
>>> x + y
[1, 2, 3, 4, 5, 6]
>>> x.extend(y)
>>> x
[1, 2, 3, 4, 5, 6]
質問は、あなたが何を達成したいのかを正確に明確にしません。
Listにはappend
、引数をリストに追加するメソッドがあります。
>>> list_one = [1,2,3]
>>> list_two = [4,5,6]
>>> list_one.append(list_two)
>>> list_one
[1, 2, 3, [4, 5, 6]]
引数として渡したリストの項目extend
を追加するメソッドもあります。
>>> list_one = [1,2,3]
>>> list_two = [4,5,6]
>>> list_one.extend(list_two)
>>> list_one
[1, 2, 3, 4, 5, 6]
そしてもちろん、insert
同様に機能するappend
が、挿入ポイントを指定できるメソッドがあります。
>>> list_one.insert(2, list_two)
>>> list_one
[1, 2, [4, 5, 6], 3, 4, 5, 6]
特定の挿入ポイントでリストを拡張するには、リストスライスを使用できます(ありがとう、@ florisla):
>>> l = [1, 2, 3, 4, 5]
>>> l[2:2] = ['a', 'b', 'c']
>>> l
[1, 2, 'a', 'b', 'c', 3, 4, 5]
リストのスライスは、リスト内のエントリの範囲を別のリストのエントリの範囲に置き換えることができるため、非常に柔軟です。
>>> l = [1, 2, 3, 4, 5]
>>> l[2:4] = ['a', 'b', 'c'][1:3]
>>> l
[1, 2, 'b', 'c', 5]
foo = [1, 2, 3]
bar = [4, 5, 6]
foo.append(bar) --> [1, 2, 3, [4, 5, 6]]
foo.extend(bar) --> [1, 2, 3, 4, 5, 6]
あなたもすることができます...
x += y
リスト(list2)の要素を他のリスト(list)の最後に追加する場合は、listextendメソッドを使用できます。
list = [1, 2, 3]
list2 = [4, 5, 6]
list.extend(list2)
print list
[1, 2, 3, 4, 5, 6]
または、2つのリストを連結する場合は、+記号を使用できます
list3 = list + list2
print list3
[1, 2, 3, 4, 5, 6]
を実行するとx.append(y)
、yはxに参照されるため、yに加えられた変更は追加されたxにも影響します。したがって、要素のみを挿入する必要がある場合は、次のようにする必要があります。
x = [1,2,3]
y = [4,5,6]
x.append(y[:])