Este módulo define un tipo de objeto que puede representar de forma compacta un array ofbasic values: characters, integers, floating point numbers. Los Arrays son tipos de secuencia y se comportan muy parecido a las listas, excepto que el tipo de objetos almacenados en ellos está restringido. El tipo se especifica en el momento de la creación del objeto mediante el código atype, que es un solo carácter., Se definen los siguientes códigos de tipo:

notas:

  1. Puede ser de 16 bits o 32 bits dependiendo de la plataforma.

    cambiado en la versión 3.9: array('u')ahora usa wchar_tcomo Tipo C En lugar de obsoletoPy_UNICODE. Este cambio no afecta a su comportamiento, porquePy_UNICODE es el seudónimo de wchar_t desde Python 3.3.

    obsoleto desde la versión 3.3, se eliminará en la versión 4.0.,

la representación real de los valores está determinada por la arquitectura de la máquina(estrictamente hablando, por la implementación de C). Se puede acceder al tamaño real a través del atributo itemsize.

el módulo define el siguiente tipo:

classarray.array(typecode)¶

una nueva matriz cuyos elementos están restringidos por typecode e inicializados desde el valor del inicializador opcional, que debe ser una lista, un objeto tipo abytes o iterable sobre elementos del tipo apropiado.,

si se le da una lista o cadena, el inicializador se pasa al métodofromlist(), frombytes(), o fromunicode() para agregar elementos iniciales a la matriz. De lo contrario, el inicializador iterable se pasa al método extend().

genera un suceso de auditoría array.__new__ con argumentos typecode, initializer.

array.typecodes

Una cadena con todos los códigos de tipo.,

Los Objetos de matriz soportan las operaciones de secuencia ordinarias de indexación,corte, concatenación y multiplicación. Cuando se usa la asignación de segmentos, el valor asignado debe ser un objeto array con el mismo código de tipo; en todos los demás casos,TypeError se genera. Los objetos de matriz también implementan la interfaz de búfer, y se pueden usar donde se admitan objetos similares a bytes.

Los siguientes elementos de datos y los métodos también son compatibles:

array.typecode

El typecode carácter utilizado para crear la matriz.,

array.itemsize

La longitud en bytes de un elemento de matriz en la representación interna.

array.append(x)¶

añadir un nuevo elemento con el valor x para el final de la matriz.

array.buffer_info()¶

devuelve una tupla (address, length) dando la dirección de memoria actual y la longitud en los elementos del búfer utilizados para contener el contenido de la matriz. El tamaño del búfer de memoria en bytes se puede calcular como array.buffer_info() *array.itemsize., Esto es ocasionalmente útil cuando se trabaja con interfaces de E/S de bajo nivel (y frecuentemente inseguras) que requieren direcciones de memoria, como ciertas operacionesioctl(). Los números devueltos son válidos siempre y cuando el arrayexists y no se le aplican operaciones de cambio de longitud.

Nota

Cuando se utilizan objetos de matriz de código escrito en C o c++ (la única manera de hacer uso efectivo de esta información), tiene más sentido utilizar la interfaz de búfer soportada por los objetos de matriz. Este método se mantiene para la compatibilidad con el backward y debe evitarse en código Nuevo., La interfaz buffer está documentada en el protocolo Buffer.

array.byteswap()¶

«Byteswap» todos los elementos de la matriz. Esto solo se admite para valores que tengan un tamaño de 1, 2, 4 u 8 bytes; para otros tipos de valores, RuntimeError israised. Es útil cuando se leen datos de un archivo escrito en una máquina con un orden de bytes diferente.

array.count(x)¶

devuelve el número de ocurrencias de x en la matriz.,

array.extend(iterable)¶

añadir elementos de iterable a la final de la matriz. Si iterable es otro, debe tener exactamente el mismo código de tipo; si no, TypeError se levantará. Si iterable no es una matriz, debe ser iterable y sus elementos deben ser el tipo correcto que se anexará a la matriz.

array.frombytes(S)¶

añade elementos de la cadena, interpretando la cadena como una matriz de machinevalues (como si se hubiera leído desde un archivo utilizando el método fromfile()).,

nuevo en la versión 3.2: fromstring() se cambia el nombre a frombytes() para mayor claridad.

array.fromfile(f, n)¶

Leer n elementos (como valores de máquina) desde el objeto de archivo f y appendthem hasta el final de la matriz. Si hay menos de N elementos disponibles,EOFError se eleva, pero los elementos que estaban disponibles siguen insertados en el array. f debe ser un objeto de archivo incorporado real; somethingelse con un método read() no funcionará.,

array.fromlist(lista)¶

añadir elementos de la lista. Esto es equivalente a for x in list:a.append(x) excepto que si hay un error de tipo, la matriz no cambia.

array.fromunicode(s)¶

Extiende esta matriz con los datos de cadena de caracteres unicode. El array debe ser de tipo 'u' array; de lo contrario se genera un ValueError. Usearray.frombytes(unicodestring.encode(enc)) para anexar datos Unicode a anarray de algún otro tipo.,

array.index(x)¶

Devolver el menor i tal que i es el índice de la primera ocurrencia ofx en la matriz.

array.insert(I, x)¶

inserte un nuevo elemento con el valor x en la matriz antes de la posición i. Los valores negativos se tratan como relativos al final de la matriz.

array.pop()¶

Elimina el elemento con el índice i de la matriz y devuelve., El valor predeterminado de optionalargument es -1, de modo que, por defecto, el último elemento se elimina y se devuelve.

array.remove(x)¶

Retire la primera aparición de x de la matriz.

array.reverse()¶

Invertir el orden de los elementos en la matriz.

array.tobytes()¶

convierta la matriz a una matriz de valores de máquina y devuelva la representación de bytes (la misma secuencia de bytes que se escribiría en un archivo por el método tofile().,)

nuevo en la versión 3.2: tostring() se cambia el nombre a tobytes() para mayor claridad.

array.tofile(f)¶

Escribir todos los elementos (como la máquina de valores) con el objeto de archivo f.

array.tolist()¶

Convertir la matriz de una simple lista con los mismos elementos.

array.tounicode()¶

Convertir la matriz en una cadena unicode. El array debe ser de tipo 'u'array;de lo contrario se genera un ValueError., Use array.tobytes().decode(enc) toobtain a unicode string from an array of some other type.

Cuando un objeto array se imprime o se convierte en una cadena, se representa comoarray(typecode, initializer). El inicializador se omite si la matriz es vacía, de lo contrario es una cadena si el código de tipo es 'u', de lo contrario es una lista de números. Se garantiza que la cadena se puede convertir de nuevo a anarray con el mismo tipo y valor usando eval(), siempre que la clasearray se haya importado usando from array import array.,Ejemplos:

array('l')array('u', 'hello \u2641')array('l', )array('d', )

Véase también

Módulo struct

Embalaje y desembalaje heterogéneo de datos binarios.

Modulexdrlib

empaquetamiento y desempaquetado de datos de representación de datos externos (XDR) como se usa en los sistemas de llamada de procedimientos someremote.

la documentación numérica de Python

la extensión numérica de Python (NumPy) define otro tipo de matriz; consulte://www.numpy.org/ para obtener más información sobre Python numérico.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *