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]]
引数として渡すリストにitemsを追加する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]
リスト(list2)の要素を他のリスト(list)の最後に追加したい場合は、list extendメソッドを使うことができます。
list = [1, 2, 3]
list2 = [4, 5, 6]
list.extend(list2)
print list
[1, 2, 3, 4, 5, 6]
2つのリストを連結したい場合は、+ signを使用できます。
list3 = list + list2
print list3
[1, 2, 3, 4, 5, 6]
あなたもすることができます...
x += y
x.append(y)
を実行しただけでは、yがxに参照されるため、yに対する変更は追加されたxにも影響します。したがって、要素だけを挿入する必要がある場合は、次のようにします。
x = [1,2,3] y = [4,5,6] x.append(y[:])