基本的に、C でこの配列に相当する Python が必要です。
int a[x];
しかし、Pythonでは次のような配列を宣言します:
a = []
問題は、ランダムなスロットに次のような値を割り当てたいことです。
a[4] = 1
しかし、Python リストは空 (長さ 0) であるため、Python ではそれを行うことはできません。
基本的に、C でこの配列に相当する Python が必要です。
int a[x];
しかし、Pythonでは次のような配列を宣言します:
a = []
問題は、ランダムなスロットに次のような値を割り当てたいことです。
a[4] = 1
しかし、Python リストは空 (長さ 0) であるため、Python ではそれを行うことはできません。
「配列」が実際にPythonリストを意味する場合は、次を使用できます
a = [0] * 10
また
a = [None] * 10
Pythonでやりたいことを正確に行うことはできません(正しく読んだ場合)。リストの各要素(または、配列と呼んでいるように)に値を入れる必要があります。
しかし、これを試してください:
a = [0 for x in range(N)] # N = size of list you want
a[i] = 5 # as long as i < N, you're okay
他のタイプのリストの場合は、0 以外の何かを使用 None
します。多くの場合、これも適切な選択です。
numpy を使用できます。
import numpy as np
空の配列の例:
np.empty([2, 2])
array([[ -9.74499359e+001, 6.69583040e-309],
[ 2.13182611e-314, 3.06959433e-309]])
また、listのextendメソッドを使用して拡張することもできます。
a= []
a.extend([None]*10)
a.extend([None]*20)
リストを宣言し、各要素を追加するだけです。例:
a = []
a.append('first item')
a.append('second item')
実際にCスタイルの配列が必要な場合
import array
a = array.array('i', x * [0])
a[3] = 5
try:
[5] = 'a'
except TypeError:
print('integers only allowed')
Python には初期化されていない変数の概念がないことに注意してください。変数は値にバインドされた名前であるため、その値には何かが含まれている必要があります。上記の例では、配列はゼロで初期化されています。
ただし、これは、実際に低レベルのものに必要でない限り、python では一般的ではありません。ほとんどの場合、他の回答が示唆するように、空のリストまたは空のnumpy配列を使用する方がよいでしょう。