array — arrays de dados numéricos

Este módulo define o tipo array.array: uma sequência eficiente em espaço de valores de um único tipo numérico fixo, indexável como uma lista mas apoiada por um bloco contíguo de memória acessível via o protocolo de buffer.

Códigos de tipo suportados

O argumento typecode de caractere único seleciona o tipo de elemento:

Código de tipo

Tipo C

Bytes

Tipo Python

'b'

signed char

1

int

'B'

unsigned char

1

int

'h'

signed short

2

int

'H'

unsigned short

2

int

'i'

signed int

2 ou 4

int

'I'

unsigned int

2 ou 4

int

'l'

signed long

4

int

'L'

unsigned long

4

int

'q'

signed long long

8

int

'Q'

unsigned long long

8

int

'f'

float

4

float

'd'

double

8

float

Os códigos 'f' e 'd' requerem firmware compilado com suporte a ponto flutuante (o padrão na maioria das placas). A largura exata de 'i' e 'I' segue a ABI C do host — tipicamente 4 bytes nas portas Cortex-M.

Classes

class array.array(typecode: str, iterable: Iterable = ())

Cria um array com elementos do tipo fornecido. O conteúdo inicial do array é dado por iterable. Se não for fornecido, um array vazio é criado.

Além dos métodos abaixo, objetos array também implementam o protocolo de buffer. Isso significa que o conteúdo do array inteiro pode ser acessado como bytes brutos via uma memoryview ou outras interfaces que usam este protocolo.

append(val: Any) None

Anexa o novo elemento val ao final do array, fazendo-o crescer.

extend(iterable: Iterable) None

Anexa os novos elementos contidos em iterable ao final do array, fazendo-o crescer.

__getitem__(index: int | slice) Any

Leitura indexada do array, chamada como a[index] (onde a é um array). Retorna um valor se index for um int e um array se index for uma fatia (slice). Índices negativos contam a partir do final e IndexError é lançado se o índice estiver fora do intervalo.

Nota: __getitem__ não pode ser chamado diretamente (a.__getitem__(index) falha) e não está presente em __dict__, porém a[index] funciona.

__setitem__(index: int | slice, value: Any) None

Escrita indexada no array, chamada como a[index] = value (onde a é um array). value é um único valor se index for um int e um array se index for uma fatia (slice). Índices negativos contam a partir do final e IndexError é lançado se o índice estiver fora do intervalo.

Nota: __setitem__ não pode ser chamado diretamente (a.__setitem__(index, value) falha) e não está presente em __dict__, porém a[index] = value funciona.

__len__() int

Retorna o número de itens no array, chamado como len(a) (onde a é um array).

Nota: __len__ não pode ser chamado diretamente (a.__len__() falha) e o método não está presente em __dict__, porém len(a) funciona.

__add__(other: array) array

Retorna um novo array que é a concatenação do array com other, chamado como a + other (onde a e other são ambos arrays).

Nota: __add__ não pode ser chamado diretamente (a.__add__(other) falha) e não está presente em __dict__, porém a + other funciona.

__iadd__(other: array) array

Concatena o array com other no local (in-place), chamado como a += other (onde a e other são ambos arrays). Equivalente a extend(other).

Nota: __iadd__ não pode ser chamado diretamente (a.__iadd__(other) falha) e não está presente em __dict__, porém a += other funciona.

__repr__() str

Retorna a representação em string do array, chamada como str(a) ou repr(a) (onde a é um array). Retorna a string "array(<type>, [<elements>])", onde <type> é a letra do código de tipo do array e <elements> é uma lista separada por vírgulas dos elementos do array.

Nota: __repr__ não pode ser chamado diretamente (a.__repr__() falha) e não está presente em __dict__, porém str(a) e repr(a) ambos funcionam.