2011-08-17 19 views
5

consigo NameError: name 'array' is not defined por error pitón cuando quiero crear matriz, por ejemplo:NameError: nombre de 'array' no está definido en pitón

a = array([1,8,3]) 

¿Qué estoy haciendo mal? ¿Cómo usar arreglos?

+3

¿Realmente necesita una matriz, o simplemente desea una lista? –

+0

numpy también tiene una función de matriz. ¿Es eso lo que quieres decir? Si es así, es posible que deba agregar un prefijo con el espacio de nombre. –

Respuesta

3

Si necesita un recipiente para contener un montón de cosas, entonces las listas podrían ser la mejor opción:

a = [1,8,3] 

Tipo

dir([]) 

de un intérprete de Python para ver los métodos que listas de soporte , como append, pop, reverse y sort. listas también apoyan las listas por comprensión y la interfaz iterable de Python:

for x in a: 
    print x 

y = [x ** 2 for x in a] 
+0

¿Puedo insertar cosas para enumerar como para i en el rango (10): a [i] = b? – Templar

+1

@Templar 'a = [b para i en el rango (10)]' Eso creará una nueva lista [b, b, b, b, b, b, b, b, b, b] –

+0

por lo que significa en primer lugar SIEMPRE debe completar la lista con algunas cosas al azar si quiero usarlo así? – Templar

40

Debe importar el método array del módulo.

from array import array

http://docs.python.org/library/array.html

+0

entonces obtengo este error TypeError: array() argumento 1 debe ser char, no list – Templar

+3

@Templar - 'array' en Python no es exactamente como una matriz en idiomas como C o Java, están restringidos y debe especificar un escriba que la matriz contendrá. Puede usar listas como lo haría en matrices en otros idiomas, pero de lo contrario, debe especificar que su matriz contiene enteros. Consulte la primera parte del documento: http://docs.python.org/library/array.html – birryree

3

Es probable que no quiere una matriz. Intente utilizar una lista:

a = [1,8,3] 

Las listas de Python funcionan como matrices dinámicas en muchos otros idiomas.

+2

-1 No trata el problema real de cómo obtener 'array'. – Marcin

+0

La respuesta aceptada fue para 'list'. Mantente con clase. –

+0

La respuesta más votada en realidad responde la pregunta. Quédate ... defensivo e irreflexivo. – Marcin

12

Para Python básica, simplemente deberá utilizar un list (como ya se ha señalado).

Si se trata de utilizar NumPy y desea una matriz NumPy:

import numpy as np 

a = np.array([1,8,3]) 

Si usted no sabe lo que es NumPy, es probable que sólo quieren que el list.

Cuestiones relacionadas