Come dichiarare e aggiungere elementi a un array in Python?


387

Sto cercando di aggiungere elementi a un array in Python.

io corro

array = {}

Quindi, provo ad aggiungere qualcosa a questo array facendo:

array.append(valueToBeInserted)

Non sembra esserci un .appendmetodo per questo. Come faccio ad aggiungere elementi a un array?

Risposte:


694

{}rappresenta un dizionario vuoto, non un array / elenco. Per elenchi o matrici, è necessario [].

Per inizializzare un elenco vuoto, procedere come segue:

my_list = []

o

my_list = list()

Per aggiungere elementi all'elenco, utilizzare append

my_list.append(12)

Per extendl'elenco per includere gli elementi da un altro elenco utilizzareextend

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

Per rimuovere un elemento da un elenco, utilizzare remove

my_list.remove(2)

I dizionari rappresentano una raccolta di coppie chiave / valore, nota anche come matrice associativa o mappa.

Per inizializzare un dizionario vuoto usare {}odict()

I dizionari hanno chiavi e valori

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

Per estendere un dizionario con i contenuti di un altro dizionario è possibile utilizzare il updatemetodo

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

Per rimuovere un valore da un dizionario

del my_dict['key']

Oh ok, l'ho capito come un elenco avrebbe bisogno di una chiave e un valore, ma credo di no
AkshaiShah

38

No, se lo fai:

array = {}

Nel tuo esempio stai usando arrayun dizionario, non un array. Se hai bisogno di un array, in Python usi gli elenchi:

array = []

Quindi, per aggiungere elementi che fai:

array.append('a')

1
Nitpicking: non dichiari nulla. Si crea un nome nell'ambito corrente facendo riferimento a un oggetto dizionario / elenco.

16

Le matrici (chiamate listin python) usano la []notazione. {}è per dict(chiamato anche tabelle hash, array associati, ecc. in altre lingue), quindi non avrai "append" per un dict.

Se si desidera effettivamente un array (elenco), utilizzare:

array = []
array.append(valueToBeInserted)

11

Solo per completezza, puoi anche fare questo:

array = []
array += [valueToBeInserted]

Se è un elenco di stringhe, funzionerà anche:

array += 'string'

2

In alcune lingue come JAVA definisci un array usando parentesi graffe come segue ma in Python ha un significato diverso:

Giava:

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

Tuttavia, in Python, le parentesi graffe vengono utilizzate per definire i dizionari, che richiede un key:valuecompito come{'a':1, 'b':2}

Per definire effettivamente un array (che in realtà è chiamato list in python) puoi fare:

Pitone:

mylist = [1,2,3]

o altri esempi come:

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

2

Puoi anche fare:

array = numpy.append(array, value)

Si noti che il numpy.append()metodo restituisce un nuovo oggetto, quindi se si desidera modificare l'array iniziale, è necessario scrivere:array = ...


-1

Credo che ti sbagli di grosso. devi fare:

array = array[] per definirlo, quindi:

array.append ["hello"] da aggiungere ad esso.


4
Il modo corretto di definire un array èarray = []
Shai,

1
Puoi anche definirlo usando array = list(). Si noti che definendolo come un array usando [] si fornisce funzionalità specifica disponibile solo per array come la divisione di array per un singolo numero intero. Ex. array/3
Dalton Whyte,

Sintassi
Errore

Basta attenersi all'elenco quando si usa Python
CodeGuru
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.