¿Cómo declarar y agregar elementos a una matriz en Python?

387

Estoy tratando de agregar elementos a una matriz en python.

Corro

array = {}

Luego, trato de agregar algo a esta matriz haciendo:

array.append(valueToBeInserted)

No parece haber un .appendmétodo para esto. ¿Cómo agrego elementos a una matriz?

AkshaiShah
fuente

Respuestas:

694

{}representa un diccionario vacío, no una matriz / lista. Para listas o matrices, necesita [].

Para inicializar una lista vacía, haga esto:

my_list = []

o

my_list = list()

Para agregar elementos a la lista, use append

my_list.append(12)

Para extendla lista para incluir los elementos de otra lista useextend

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

Para eliminar un elemento de una lista, use remove

my_list.remove(2)

Los diccionarios representan una colección de pares clave / valor también conocidos como una matriz asociativa o un mapa.

Para inicializar un diccionario vacío, use {}odict()

Los diccionarios tienen claves y valores

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

Para extender un diccionario con el contenido de otro diccionario, puede usar el updatemétodo

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

Para eliminar un valor de un diccionario

del my_dict['key']
lukecampbell
fuente
Oh bien, lo entendí como una lista tendría que tener una clave y un valor, pero supongo que no
AkshaiShah
38

No, si lo haces:

array = {}

En su ejemplo, está utilizando arraycomo diccionario, no como matriz. Si necesita una matriz, en Python usa listas:

array = []

Luego, para agregar elementos que haces:

array.append('a')
Pablo Santa Cruz
fuente
1
Nitpicking: No declaras nada. Usted hace que un nombre en el alcance actual se refiera a un diccionario / objeto de lista.
16

Las matrices (llamadas listen python) usan la []notación. {}es para dict(también llamado tablas hash, matrices asociadas, etc. en otros idiomas) por lo que no tendrá que 'agregar' un dict.

Si realmente desea una matriz (lista), use:

array = []
array.append(valueToBeInserted)
Collin Green
fuente
11

Solo por completar, también puede hacer esto:

array = []
array += [valueToBeInserted]

Si es una lista de cadenas, esto también funcionará:

array += 'string'
Big McLargeHuge
fuente
2

En algunos lenguajes como JAVA, usted define una matriz usando llaves como sigue, pero en Python tiene un significado diferente:

Java:

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

Sin embargo, en Python, las llaves se usan para definir diccionarios, que necesitan una key:valueasignación como{'a':1, 'b':2}

Para definir realmente una matriz (que en realidad se llama lista en python) puede hacer:

Pitón:

mylist = [1,2,3]

u otros ejemplos como:

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

También puedes hacer:

array = numpy.append(array, value)

Tenga en cuenta que el numpy.append()método devuelve un nuevo objeto, por lo que si desea modificar su matriz inicial, debe escribir:array = ...

Aurelie Giraud
fuente
-1

Creo que todos ustedes están equivocados. necesitas hacer:

array = array[] para definirlo y luego:

array.append ["hello"] para agregarle

Eliza
fuente
44
La forma correcta de definir una matriz esarray = []
Shai el
1
También puedes definirlo usando array = list(). Tenga en cuenta que definirlo como una matriz con [] proporciona una funcionalidad específica que solo está disponible para las matrices, como la división de la matriz por un solo entero. Ex. array/3
Dalton Whyte
SyntaxError: sintaxis no válida
CodeGuru
Sólo se adhieren a la lista cuando se utiliza pitón
CodeGuru