Pythonで項目を宣言して配列に追加する方法は?


386

Pythonで配列に項目を追加しようとしています。

走る

array = {}

次に、この配列に何かを追加してみます。

array.append(valueToBeInserted)

これには.append方法がないようです。配列に項目を追加するにはどうすればよいですか?

回答:


692

{}配列/リストではなく、空の辞書を表します。リストまたは配列の場合は、が必要[]です。

空のリストを初期化するには、次のようにします。

my_list = []

または

my_list = list()

リストに要素を追加するには、次を使用します append

my_list.append(12)

extend別のリストの使用から要素を含めるリストextend

my_list.extend([1,2,3,4])
my_list
--> [12,1,2,3,4]

リストから要素を削除するには remove

my_list.remove(2)

辞書は、連想配列またはマップとも呼ばれるキーと値のペアのコレクションを表します。

空の辞書を初期化するには、{}またはdict()

辞書にはキーと値があります

my_dict = {'key':'value', 'another_key' : 0}

辞書を別の辞書の内容で拡張するには、updateメソッドを使用できます

my_dict.update({'third_key' : 1})

辞書から値を削除するには

del my_dict['key']

リストにはキーと値が必要なので、そうだと理解しましたが、そうではないと思います
AkshaiShah

38

いいえ、もしそうなら:

array = {}

あなたの例arrayでは、配列ではなく辞書として使用しています。配列が必要な場合、Pythonではリストを使用します。

array = []

次に、アイテムを追加するには:

array.append('a')

1
Nitpicking:何も宣言していません。現在のスコープの名前に辞書/リストオブジェクトを参照させます。

16

配列(listPythonでは呼ばれる)は[]表記法を使用します。{}これはdict(他の言語ではハッシュテーブル、関連する配列などとも呼ばれます)のためのものなので、dictに「追加」する必要はありません。

実際に配列(リスト)が必要な場合は、次を使用します。

array = []
array.append(valueToBeInserted)

11

完了のために、これを行うこともできます。

array = []
array += [valueToBeInserted]

文字列のリストの場合、これも機能します。

array += 'string'

2

JAVAなどの一部の言語では、次のように中括弧を使用して配列を定義しますが、Pythonでは別の意味があります。

Java:

int[] myIntArray = {1,2,3};
String[] myStringArray = {"a","b","c"};

しかし、Pythonで、中括弧を必要とする、辞書を定義するために使用されるkey:valueような割り当てを{'a':1, 'b':2}

実際に配列(実際にはPythonではリストと呼ばれます)を定義するには、次のようにします。

Python:

mylist = [1,2,3]

または他の例:

mylist = list()
mylist.append(1)
mylist.append(2)
mylist.append(3)
print(mylist)
>>> [1,2,3]

2

あなたも行うことができます:

array = numpy.append(array, value)

このnumpy.append()メソッドは新しいオブジェクトを返すため、初期配列を変更する場合は、次のように記述する必要があります。array = ...


-1

私はあなたがすべて間違っていると思います。あなたがする必要があります:

array = array[] それを定義するために、そして:

array.append ["hello"] それに追加します。


4
配列を定義する正しい方法は次のarray = []
Shai

1
を使用して定義することもできますarray = list()。[]を使用して配列として定義すると、単一の整数による配列除算など、配列でのみ使用できる特定の機能が提供されます。例 array/3
ダルトンホワイト


Pythonを使用するときはリストに固執する
CodeGuru
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.