array

Il modulo array permette di operare con array di caratteri, numeri interi e numeri in virgola mobile in modo efficiente.
Il programmatore che arriva a questo punto normalmente passa al modulo numpy

Costruttori

array.array(tipo) Genera un array vuoto per elementi di tipo carattere, intero, virgola mobile con le specifiche

  • corto / lungo
  • con segno / senza segno

caratteristiche di altri linguaggi (C, Java, …)

  • h‘ (signed short integer)
  • H‘ (unsigned short integer)
  • i‘ (signed integer)
  • I‘ (unsigned integer)
  • l‘ (signed long integer)
  • L‘ (unsigned long integer)
  • f‘ (floating point number)
  • d‘ (double precision floating point number)
array.array(tipo, it) Genera un array con elementi di un certo tipo e lo inizializza con gli elementi in un iterabile: range, tupla, array, …
...

Operatori

array1 + array2 Concatenazione
n * array1 Concatenazione ennesima
array1[p] Selezione
array1[p1 : p2] Slicing
x in array1 x appartiene all’array?
...

Funzioni/metodi

array1.append(x) Aggiunge x come ultimo elemento (a destra…)
array1.count(x) Restituisce il numero di occorrenze di x
array1.extend(it) Aggiunge gli elementi dell’iterabile it
array1.fromlist(lista) Aggiunge gli elementi della lista.

Altri: array1.frombytes(stringa)array1.fromfile(file, n)array1.fromunicode(stringa)

array1.index(x) Restituisce la posizione della prima occorrenza di x
array1.insert(p, x) Inserisce l’elemento x alla posizione p
array1.itemsize Restituisce la dimensione, in byte, degli elementi
len(array1) Restituisce il numero di elementi
max(array1) Restituisce il valore massimo
min(array1) Restituisce il valore minimo
array1.pop() Restituisce, e rimuove, l’ultimo elemento
array1.pop(p) Restituisce, e rimuove, l’elemento alla posizione p
array1.remove(x) Elimina la prima occorrenza di x
array1.reverse() Capovolge il contenuto dell’array
sum(array1) Restituisce la somma degli elementi
array1.typecode Restituisce il carattere utilizzato per creare l’array (‘i’, …)
array1.typecodes Restituisce una stringa con tutti i codici disponibili per creare un array (‘i’, …)
...

Prova

a=array('i')          # ...  array('i')
a=array('i',range(4)) # ...  array('i', [0, 1, 2, 3])

a.append(-100)        # ...  [0, 1, 2, 3, -100]
a.insert(1,3)         # ...  [0, 3, 1, 2, 3, -100]
a.remove(3)           # ...  [0, 1, 2, 3, -100]
a.pop()               # -100 [0, 1, 2, 3]
a.reverse()           # ...  [3, 2, 1, 0]

len(a)                # 4
min(a)                # 0
max(a)                # 3
sum(a)                # 6
10 in a               # False
10 not in a           # True
a+a                   # array['i', [3,2,1,0,3,2,1,0])
2*a                   # array['i', [3,2,1,0,3,2,1,0])

a[0]                  # 3
a[0]=100              # ...  array('i',[100, 2,1,0])
a[1:3]                # array('i',[2,1])
a[1:3]=array(...)     # ...