2017-10-21 9 views

答えて

0

説明しているのは、2次元のゼロのリストを反復することです。与えられた寸法は

# The dimensions of the two-dimensional list. 
columns = 5 
rows = 5 

# A generator to produce the two-dimensional list. 
zeros = [[0 for i in range(columns)] for j in range(rows)] 

# Loops through and prints each row of the two-dimensional list. 
for row in zeros: 

    print(row) 

次のように、このコードが実行される出力は次のようになります。

[0, 0, 0, 0, 0] 
[0, 0, 0, 0, 0] 
[0, 0, 0, 0, 0] 
[0, 0, 0, 0, 0] 
[0, 0, 0, 0, 0] 
+0

はありがとう、私は実際に0TTT0のアドバイスを取り、範囲(0,1)に私のために別のlooprow = [] グリッド= 5 を書いた: row.append ( "O" * 5) #print(row) grid> 0: print(row) grid = grid - 1 – Megan59781

0
grid = [[0 for i in range(5)] for j in range(5)] 
[print(row) for row in grid] 

出力:

[0, 0, 0, 0, 0] 
[0, 0, 0, 0, 0] 
[0, 0, 0, 0, 0] 
[0, 0, 0, 0, 0] 
[0, 0, 0, 0, 0] 
+1

最初のコード行は問題ありませんが、2行目はあまり良くありません。そのようなリスト内包を使用しないでください!単に "伝統的な" for "ループを使用してください。あなたの '[行の行を表示する(行)]'は 'None'でいっぱいのリストを作成し、そのリストを投げ捨てます。それは一般的に、リストの作成者が副作用を持つのは悪いスタイルであると考えられています。リストを作成すること以外には他の効果はありません。だから、副作用のためのリストのcomp_purely_を使用し、リストを投げ捨てることは大きなノー・ノーです。 –

+0

この説明をありがとうございます! – Jossildur

1

あなただけの固定のグリッドをしたい場合あなたが必要としない文字列任意のループです。文字列とリストのmultiplica文字列.joinを使用して、グリッドの行を結合して印刷します。

size = 5 
row = " O " * size 
grid = [row] * size 
print('\n'.join(grid)) 

出力は

O O O O O 
O O O O O 
O O O O O 
O O O O O 
O O O O O 
関連する問題