私は同じローを複数回以下のように取得する必要があります。Python:同じ行を何度も取得する方法
A=[2,3,4,5]
B=[[2,3,4,5],[2,3,4,5],[2,3,4,5],[2,3,4,5],...,[2,3,4,5]]
行数は変更可能です。 この問題を解決するにはどうすればよいですか? Aがリストである
私は同じローを複数回以下のように取得する必要があります。Python:同じ行を何度も取得する方法
A=[2,3,4,5]
B=[[2,3,4,5],[2,3,4,5],[2,3,4,5],[2,3,4,5],...,[2,3,4,5]]
行数は変更可能です。 この問題を解決するにはどうすればよいですか? Aがリストである
A = [1,2,3]
B= []
n= 5
for i in range(5):
B.append(A)
、Bは、結果リストで、n行
これを試してみての数です:
B = [[i for i in A] for n in range(5)]
変更部数を変更するにはrange()
コールの値。これは、他の回答のような参照共有に悩まされません。スライス演算子は深いコピーを作成しますので、これはまた、同様に*参照の共有に悩まされない
B = [A[:] for n in range(5)]
:
か短い同等。少なくとも、この入力だけで、同じ旧リストに複数の参照を行います最も簡単な方法でリストの内包をやって、指摘されたように
の面で
online example*
。代わりに、我々はリストの新しいコピーを取得確保するために、我々は行うことができます:list(A)
たちは代わりに同じリストを参照するのA
のコピーを取得することが保証さ
A = [2, 3, 4, 5]
B = [list(A) for i in range(10)]
。
また、行うことができます。その要素が複雑なオブジェクトである場合に
B=([A.copy()]*10)
しかし、それはBでリスト間の参照を生成することができます。しかし、int、文字列、その他の基本的なものに使用している場合、うまくいくでしょう。
何か試しましたか?何が起こった? – jonrsharpe
私は自分自身に答えを見つけました。 – kgdc
これはB = [A] * n – kgdc