2

と呼ばxれる 3x2 リストと と呼ばれる 1x2 リストがありyます。

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

y=[10,20]

私の質問はy、の最後に連結して、次のxような 4x2 リストになる方法です。

x=[[1,2],[3,4],[5,6],[10,20]]

私はこれを試しました:

xx=[x,y]

しかし、それは4x2リストではないこれを私に与えます:

xx=[[[1,2],[3,4],[5,6]],[10,20]]
4

5 に答える 5

9
>>> x = [[1, 2], [3, 4], [5, 6]]
>>> x
[[1, 2], [3, 4], [5, 6]]
>>> x.append([10, 20])
>>> x
[[1, 2], [3, 4], [5, 6], [10, 20]]

または:

>>> x = [[1, 2], [3, 4], [5, 6]]
>>> x
[[1, 2], [3, 4], [5, 6]]
>>> x += [[10, 20]] # a list with a list as its only element
>>> x
[[1, 2], [3, 4], [5, 6], [10, 20]]
于 2012-08-13T17:57:42.180 に答える
9

与えられた:

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

これ:

x.append(y)

あなたに与える:

[[1, 2], [3, 4], [5, 6], [10, 20]]

ただし、これにより変更されることに 注意xしてください。

を変更したくない場合xは、別の方法があります。

 xx = x + [y[:]]

設定xx:

 [[1, 2], [3, 4], [5, 6], [10, 20]]

上記の割り当てでy[:]は単純に ではなくを使用します。これは、後でforの別のコピーを作成する必要があるためです。(元の) を変更しても、 の変更にはつながらないからです。yyxxyxx

于 2012-08-13T17:58:55.940 に答える
5
>>> x=[[1,2],[3,4],[5,6]]
>>> y=[10,20]
>>> x.append(y)  # or x.append(list(y)) to append a shallow copy of y
>>> x
[[1, 2], [3, 4], [5, 6], [10, 20]]
于 2012-08-13T18:00:06.980 に答える
2

新しいリストが必要な場合:

z = x + [y]

using を使用[y]すると、コンテンツがリスト内のリストになるため、これが機能することに注意してください。

xインプレースで変更する場合は、次のようにします。

x.append(y)
于 2012-08-13T18:04:11.430 に答える
1

私自身はあまり使用しませんが、リストの拡張メンバー関数について言及する価値があると思います。

>>> x=[[1,2],[3,4],[5,6]]
>>> y=[10,20]
>>> x.extend([y])
>>> x
[[1, 2], [3, 4], [5, 6], [10, 20]]

http://docs.python.org/tutorial/datastructures.html#more-on-lists

于 2012-08-13T20:34:31.320 に答える