array — arreglos de datos numéricos¶
Este módulo define el tipo array.array: una secuencia eficiente en espacio de valores de un único tipo numérico fijo, indexable como una lista pero respaldada por un bloque contiguo de memoria accesible a través del protocolo de búfer.
Códigos de tipo admitidos¶
El argumento typecode de un solo carácter selecciona el tipo de elemento:
Código de tipo |
Tipo C |
Bytes |
Tipo Python |
|---|---|---|---|
|
|
1 |
|
|
|
1 |
|
|
|
2 |
|
|
|
2 |
|
|
|
2 o 4 |
|
|
|
2 o 4 |
|
|
|
4 |
|
|
|
4 |
|
|
|
8 |
|
|
|
8 |
|
|
|
4 |
|
|
|
8 |
|
Los códigos 'f' y 'd' requieren firmware compilado con soporte de punto flotante (el valor predeterminado en la mayoría de las placas). El ancho exacto de 'i' e 'I' sigue la ABI de C del host — típicamente 4 bytes en los puertos Cortex-M.
Clases¶
- class array.array(typecode: str, iterable: Iterable = ())¶
Crea un arreglo con elementos del tipo dado. El contenido inicial del arreglo lo proporciona iterable. Si no se proporciona, se crea un arreglo vacío.
Además de los métodos siguientes, los objetos array también implementan el protocolo de búfer. Esto significa que el contenido de todo el arreglo puede accederse como bytes en bruto a través de un
memoryviewu otras interfaces que usen este protocolo.- extend(iterable: Iterable) None¶
Añade los nuevos elementos contenidos en iterable al final del arreglo, haciéndolo crecer.
- __getitem__(index: int | slice) Any¶
Lectura indexada del arreglo, llamada como
a[index](dondeaes unarray). Devuelve un valor si index es uninty unarraysi index es un slice. Los índices negativos cuentan desde el final y se lanzaIndexErrorsi el índice está fuera de rango.Nota:
__getitem__no puede llamarse directamente (a.__getitem__(index)falla) y no está presente en__dict__, sin embargoa[index]sí funciona.
- __setitem__(index: int | slice, value: Any) None¶
Escritura indexada en el arreglo, llamada como
a[index] = value(dondeaes unarray).valuees un único valor si index es uninty unarraysi index es un slice. Los índices negativos cuentan desde el final y se lanzaIndexErrorsi el índice está fuera de rango.Nota:
__setitem__no puede llamarse directamente (a.__setitem__(index, value)falla) y no está presente en__dict__, sin embargoa[index] = valuesí funciona.
- __len__() int¶
Devuelve el número de elementos en el arreglo, llamada como
len(a)(dondeaes unarray).Nota:
__len__no puede llamarse directamente (a.__len__()falla) y el método no está presente en__dict__, sin embargolen(a)sí funciona.
- __add__(other: array) array¶
Devuelve un nuevo
arrayque es la concatenación del arreglo con other, llamada comoa + other(dondeay other son ambosarrays).Nota:
__add__no puede llamarse directamente (a.__add__(other)falla) y no está presente en__dict__, sin embargoa + othersí funciona.
- __iadd__(other: array) array¶
Concatena el arreglo con other in situ, llamada como
a += other(dondeay other son ambosarrays). Equivalente aextend(other).Nota:
__iadd__no puede llamarse directamente (a.__iadd__(other)falla) y no está presente en__dict__, sin embargoa += othersí funciona.
- __repr__() str¶
Devuelve la representación en cadena del arreglo, llamada como
str(a)orepr(a)(dondeaes unarray). Devuelve la cadena"array(<type>, [<elements>])", donde<type>es la letra del código de tipo del arreglo y<elements>es una lista separada por comas de los elementos del arreglo.Nota:
__repr__no puede llamarse directamente (a.__repr__()falla) y no está presente en__dict__, sin embargostr(a)yrepr(a)ambos funcionan.