2017-04-25 2 views
-3

タプル(i,j)をリストに追加したいのですが、別の関数で多くの時間がかかることがあります。私の結果は今のところ[[(0, 0), (0, 0)]]ですが、私はそれがただ一つのリスト[(0, 0), (0, 0)]であることを望みます。ライブラリを使用せずにこれを行う方法はありますか?連結を使わずにタプル(i、j)を複数回リストに入れる方法は?

list= [[(i,j)]*number_occurences] 
print(list) 
>>> [[(0, 0), (0, 0)]] 
+7

外側ブラケットをドロップ。 – user2357112

+6

と 'list'を変数として使用しないでください... –

+1

@ juanpa.arrivillaga:それは安全ではありません。 'i'と' j'の参照を同じ回数だけ繰り返し、異なる(不変の) 'tuple'で繰り返します。 '[(i、j)] * number_of_occurences'は*はるかに速く、等しく安全で、不必要に浅くコピーされたタプルをたくさん作ることを避けます。さて、もしそれが '[[i、j]] * number_of_occurences'だったら、それはまったく異なった魚の釜です。 – ShadowRanger

答えて

0

あなたは文字通りあなたが望ましくない[[を書きました。だから、単にそれをしないでください!代わりに[の1つだけを書きなさい。例えば

>>> [(1,2)]*5 
[(1, 2), (1, 2), (1, 2), (1, 2), (1, 2)] 
+0

訂正されるのはうれしいですが、それは私の端末からの直接のコピー/貼り付けです。 –

+0

それは本当に本当に愚かな質問でした。しかし、あなたの5は私のコードの関数だったので、私はうんざりしました。問題は、その機能に別の欠陥があったことです。しかしそれは固定されている。このような愚かな質問でも、時間をとっていただきありがとうございます。 :) – Lintexed

関連する問題