223

与えられた2つのリスト:

x = [1,2,3]
y = [4,5,6]

構文は次のとおりです。

  1. 今のように挿入xしますか?yy[1, 2, 3, [4, 5, 6]]
  2. のすべてのアイテムを、次のようにx挿入します。yy[1, 2, 3, 4, 5, 6]
4

6 に答える 6

394

どういう意味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] 
于 2010-09-20T00:46:01.840 に答える
112

質問は、あなたが何を達成したいのかを正確に明確にしません。

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]
于 2010-09-20T00:51:48.793 に答える
34
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]

http://docs.python.org/tutorial/datastructures.html

于 2010-09-20T00:43:50.690 に答える
4

あなたもすることができます...

x += y
于 2017-11-19T00:59:10.497 に答える
3

リスト(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]
于 2017-10-12T09:10:32.663 に答える
1

を実行するとx.append(y)、yはxに参照されるため、yに加えられた変更は追加されたxにも影響します。したがって、要素のみを挿入する必要がある場合は、次のようにする必要があります。

x = [1,2,3] y = [4,5,6] x.append(y[:])

于 2019-03-15T21:03:20.030 に答える