Tutorial sul Python - Tipo di dati - array
- Dichiarazione di Python Array
- Indice Python Array
- Indice negativo dell’array
- Attraversare un array Python
- Aggiornamento Python Array
- Diversi modi per modificare un array Python
- Cancellare elementi da un array Python
- Metodi dell’array
In questa sezione, imparerete come creare e accedere agli elementi di array in Python.
Un array è un insieme di elementi dello stesso tipo di dati. La differenza principale tra un array e una lista è che una lista può avere elementi di diversi tipi di dati.
Nella programmazione Python, per creare un array, è necessario importare il modulo array
perché un array non è un tipo di dati fondamentale.
from array import *
Dichiarazione di Python Array
Per dichiarare un array è necessario seguire la sintassi riportata di seguito:
arrayName = array(typecode, [initializers])
Qui, arrayName
è il nome dell’array, typecode
determina il tipo di dati dell’array e initializers
sono i valori dell’array.
Ulteriori informazioni sul parametro typecode
verranno fornite più avanti in questa sezione.
Si consideri l’esempio seguente:
a = array("i", [1, 2, 3, 4])
Il nome dell’array è a
, typecode
è i
che specifica che i valori dell’array saranno di tipo di dati interi. Se si prova a memorizzare valori diversi dai numeri interi in questo array, si genererà un errore:
>>> a=array('i', [1,2,3.4,4])
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
a=array('i', [1,2,3.4,4])
TypeError: integer argument expected, got float
Controlliamo l’esempio di un array che contiene alcuni numeri interi:
>>> from array import *
>>> a = array('i', [1,2,3,4])
>>> for i in a:
print(i)
1
2
3
4
Parametro typecode
Parametro | Significato |
---|---|
b |
un intero firmato di 1 byte |
B |
un numero intero non firmato di 1 byte |
u |
un carattere Unicode di 2 byte |
h |
un numero intero firmato di 2 byte |
H |
un numero intero non firmato di 2 byte |
i |
un numero intero firmato di 2 byte |
I |
un numero intero non firmato di 2 byte |
l |
un numero intero firmato di 4 byte |
L |
un numero intero non firmato di 4 byte |
f |
un numero a virgola mobile di 4 byte |
d |
un numero a virgola mobile di 8 byte |
Indice Python Array
È possibile recuperare un elemento di un array utilizzando l’operatore di indice []
.
Recuperare un elemento dell’array usando l’operatore indice
>>> a = array('i', [1,2,3,4])
>>> print("First element of array =", a[0])
First element of array = 1
>>> print("Second element of array =", a[1])
Second element of array = 2
Ottenere l’indice di un dato valore utilizzando il metodo index(x)
Il metodo index(x)
restituisce il più piccolo indice della prima occorrenza di x
.
>>> a = array('i', [1,2,3,4])
>>> print("1 is found at location:", a.index(1))
1 is found at location: 0
>>> print("4 is found at location:", a.index(4))
4 is found at location: 3
Indice negativo dell’array
Simile ad altri tipi di dati sequenziali Python come strings
, lists
, tuples
, range
oggetti, si possono anche usare indici negativi per accedere agli elementi dell’array.
>>> a = array('i', [1,2,3,4])
>>> print("last element of array:",a[-1])
last element of array: 4
Attraversare un array Python
Per prima cosa, trovare la lunghezza dell’array:
Metodo len()
dell’array
Il metodo len()
restituisce il numero di elementi in un array.
>>> a = array('i', [1,2,3,4])
>>> print("length of a:", len(a))
length of a: 4
Iterare su un array
Si può usare il loop for
per iterare attraverso elementi di un array.
>>> a = array('i', [1,2,3,4])
>>> for i in range(len(a)):
print(a[i])
1
2
3
4
oppure
>>> a = array('i', [1,2,3,4])
>>> for i in a:
print(i)
1
2
3
4
Aggiornamento Python Array
append()
Si può usare il metodo dell’array append()
per aggiungere un elemento alla fine di un array.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.append(10)
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10])
insert(i, x)
Si potrebbe usare il metodo insert(i, x)
per inserire l’elemento x
nell’indice dato i
.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.insert(3,44)
>>> print(a)
array('i', [1, 2, 3, 44, 4, 5, 7, 8, 9])
extend(x)
append(x)
aggiunge l’elemento x
come un unico elemento all’array. Il metodo extend(x)
è il metodo giusto per estendere l’array aggiungendo tutti gli elementi nell’oggetto dato x
.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.extend([10,11,12,13,14,15])
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11, 12, 13, 14, 15])
x
è un altro array, deve avere esattamente lo stesso codice del tipo di dati, altrimenti, TypeError
sarà generato.Se
x
non è un array Python, deve essere iterabile e i suoi elementi devono avere lo stesso tipo di dati con l’array da estendere.fromlist()
fromlist()
aggiunge elementi da una lista nell’array.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> l = [10,11]
>>> a.fromlist(l)
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11])
Diversi modi per modificare un array Python
reverse()
reverse()
inverte l’array.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.reverse()
>>> print(a)
array('i', [9, 8, 7, 5, 4, 3, 2, 1])
Operatore +
Due array possono essere concatenati utilizzando l’operatore +
:
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> b = array('i', [10,11])
>>> print(a + b)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 10, 11])
*
Operatore
L’operatore *
ripete gli elementi dell’array un numero specifico di volte.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a = a * 2
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8, 9, 1, 2, 3, 4, 5, 7, 8, 9])
Qui gli elementi vengono ripetuti due volte.
Cancellare elementi da un array Python
L’istruzione del
elimina uno o più elementi da un array. Si può anche usare del
per cancellare l’intero array:
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> del a[3]
>>> print(a)
array('i', [1, 2, 3, 5, 7, 8, 9])
>>> del a #entire array is deleted
remove(x)
remove()
rimuove la prima occorrenza di x
da un array:
>>> a = array('i', [1,2,3,4,5,7,8,9,3])
>>> a.remove(3)
>>> print(a)
array('i', [1, 2, 4, 5, 7, 8, 9, 3])
pop()
pop()
rimuoverà e restituirà l’ultimo elemento dell’array.
>>> a = array('i', [1,2,3,4,5,7,8,9])
>>> a.pop()
9
>>> print(a)
array('i', [1, 2, 3, 4, 5, 7, 8])
Metodi dell’array
La seguente tabella descrive i metodi di un array,:
Metodi | Descrizione |
---|---|
append() |
aggiungere un elemento alla fine dell’array |
extend() |
aggiungere più di un elemento ad un array. Funziona aggiungendo elementi di un array ad un altro array (in cui si vogliono aggiungere elementi). |
insert() |
aggiungere un elemento nel punto desiderato. |
remove() |
rimuovere un particolare elemento dall’array. |
pop() |
rimuovere un elemento da una data posizione e restituire l’elemento. |
clear() |
rimuovere tutti gli elementi dalla matrice. |
index() |
restituire l’indice del primo elemento abbinato nella matrice. |
count() |
restituire il numero totale di articoli passati |
sort() |
ordinare gli elementi di un array in ordine crescente. |
reverse() |
invertire l’ordine degli elementi di un array. |
copy() |
restituire una copia di un array già esistente. |
Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook