143

基本的に、C でこの配列に相当する Python が必要です。

int a[x];

しかし、Pythonでは次のような配列を宣言します:

a = []

問題は、ランダムなスロットに次のような値を割り当てたいことです。

a[4] = 1

しかし、Python リストは空 (長さ 0) であるため、Python ではそれを行うことはできません。

4

10 に答える 10

279

「配列」が実際にPythonリストを意味する場合は、次を使用できます

a = [0] * 10

また

a = [None] * 10
于 2011-03-05T17:44:29.670 に答える
26

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します。多くの場合、これも適切な選択です。

于 2011-03-05T17:46:18.793 に答える
21

numpy を使用できます。

import numpy as np

空の配列の例:

np.empty([2, 2])
array([[ -9.74499359e+001,   6.69583040e-309],
       [  2.13182611e-314,   3.06959433e-309]])  
于 2014-09-13T20:23:35.957 に答える
8

また、listのextendメソッドを使用して拡張することもできます。

a= []
a.extend([None]*10)
a.extend([None]*20)
于 2011-03-05T19:36:55.730 に答える
5

リストを宣言し、各要素を追加するだけです。例:

a = []
a.append('first item')
a.append('second item')
于 2016-10-25T13:07:33.460 に答える
0

実際にCスタイルの配列が必要な場合

import array
a = array.array('i', x * [0])
a[3] = 5
try:
   [5] = 'a'
except TypeError:
   print('integers only allowed')

Python には初期化されていない変数の概念がないことに注意してください。変数は値にバインドされた名前であるため、その値には何かが含まれている必要があります。上記の例では、配列はゼロで初期化されています。

ただし、これは、実際に低レベルのものに必要でない限り、python では一般的ではありません。ほとんどの場合、他の回答が示唆するように、空のリストまたは空のnumpy配列を使用する方がよいでしょう。

于 2019-06-06T14:06:11.243 に答える