重複の可能性:
Pythonでリストを特定の値に初期化する方法
Javaでは、これを行うことができます。
int[] i = new int[5];
iのすべての要素は0になります。
どうすればPythonでも同じことができますか?私は次のようにしています:
i = [0, 0, 0 , 0, 0]
よりクリーンでシンプルな方法はありますか?
重複の可能性:
Pythonでリストを特定の値に初期化する方法
Javaでは、これを行うことができます。
int[] i = new int[5];
iのすべての要素は0になります。
どうすればPythonでも同じことができますか?私は次のようにしています:
i = [0, 0, 0 , 0, 0]
よりクリーンでシンプルな方法はありますか?
*
次の演算子を使用できます。
i = [0] * 5
デモ:
>>> i = [0] * 5
>>> i
[0, 0, 0, 0, 0]
ああ、それi
は悪い命名の選択です。人々i
は数値ループ変数であることを期待しています。
i = [0] * 5
警告:リスト内のものがネストされたリストなどの可変オブジェクトである場合は注意してください。同じオブジェクトへの5つの参照を作成しています。これは、リストアイテムの操作を開始するときに噛み付きます。ただし、整数と文字列の場合は問題ありません。可変オブジェクトの場合:
i = [[] for _ in xrange(5)] # range(5) on Python 3.x
リスト内包表記の使用:
i = [0 for j in range(5)]
これを使用して、より複雑なアレイを構築することもできます。
A = [[0 for i in range(5)] for j in range(5)]