Tutorial del Python - Tipo di dati-Tupla
- Vantaggi di Tuple Over List
- Creare una tupla
- Accesso agli elementi della tupla
- Metodi della tupla Python
- Tuple Funzioni integrate:
- Controllo di appartenenza alla tupla
- Iterare attraverso una tupla
In questa sezione introduciamo come creare e utilizzare le tuple.
Una tupla è simile a una lista con la differenza che la tupla è immutabile ma la lista è mutabile.
Vantaggi di Tuple Over List
- Le tuple vengono utilizzate per lo più quando gli elementi hanno tipi di dati diversi, mentre le liste vengono utilizzate quando gli elementi sono dello stesso tipo di dati.
- L’attraversamento delle tuple è più veloce in quanto non è possibile aggiornare una tupla.
- È possibile utilizzare gli elementi immutabili della tupla come chiave nel dizionario. Questo non può essere fatto con una lista.
- Le tuple garantiscono la protezione dei dati in quanto immutabili.
Creare una tupla
Si può definire una tupla di Python usando le parentesi ()
e separare gli elementi con le virgole ,
. Una tupla può avere elementi di qualsiasi tipo di dati.
>>> x = (3, 'pink', 3+8j)
>>> print('x[0] =', x[0])
x[0] = 3
>>> print('x[0:2] =', x[0:2])
x[0:2] = (3, 'pink')
>>> x[0] = 4
TypeError: 'tuple' object does not support item assignment
Se la tupla contiene un solo elemento, per esempio, l’elemento è di tipo dati stringa, allora la tupla non sarà considerata come una tupla ma come una stringa. Vedere l’esempio qui sotto:
>>> x = ("Python")
>>> print(type(x))
<class 'str'>
Si può vedere qui che il tipo di dati di x
è str
piuttosto che tuple
. Per renderla una tupla si userà una virgola finale come:
>>> x = "Python",
>>> print(type(x))
<class 'tuple'>
Accesso agli elementi della tupla
Gli elementi della tupla sono accessibili in uno dei seguenti modi:
Indice
Un operatore di indice []
può essere usato per accedere agli elementi di una tupla. L’indice della tupla parte da 0. Se l’indice non è nell’intervallo (elemento non definito in quell’indice nella tupla), si avrà un IndexError
. Si noti qui che l’indice deve essere un intero altrimenti si verificherà un TypeError
.
>>> x = (3, 'pink', 3+8j)
>>> print(x[0])
3
>>> print(x[2])
(3+8j)
Indice negativo
Come per Python list, si possono usare gli indici negativi per accedere agli elementi delle tuple.
>>> l = (2, 4, 6, 8, 10)
>>> print(l[-1])
10
>>> print(l[-2])
8
>>> print(l[-3])
6
Slice
Un operatore di affettatura :
è usato per estrarre una serie di elementi da una tupla.
>>> l = (2, 4, 6, 8, 10)
>>> print(l[1:3]) #prints from location 1 to 3
(4, 6)
>>> print(l[:2]) #prints from the beginning to location 2
(2, 4)
>>> print(l[2:]) #prints elements from location 2 onwards
(6, 8, 10)
>>> print(l[:]) #prints entire list
(2, 4, 6, 8, 10)
Tuple concatenate
Due tuple possono essere concatenate utilizzando operatore +
.
>>> l = (2, 4, 6, 8, 10)
>>> print(l + (12, 14, 16)
(2, 4, 6, 8, 10, 12, 14, 16)
Cancellare una tupla
Gli elementi di una tupla non possono essere cancellati perché le tuple sono immutabili. Ma è possibile cancellare l’intera tupla utilizzando la parola chiave del:
l = (2, 4, 6, 8, 10)
del l
Metodi della tupla Python
Le tuple hanno solo due metodi, in quanto le tuple sono immutabili:
Metodi | Descrizione |
---|---|
count(a) |
viene utilizzato per restituire un numero di elementi pari a a . |
index(a) |
viene utilizzato per restituire l’indice del primo elemento pari a a . |
Tuple Funzioni integrate:
Di seguito sono riportate le funzioni integrate di tuple applicabili al tuple
per eseguire diversi compiti:
Funzioni | Descrizione |
---|---|
all() |
restituire True quando tutti gli elementi della tupla sono True . Restituisce anche True quando la tupla è vuota. |
any() |
restituire True quando uno qualsiasi degli elementi della tupla è True . Restituisce False quando la tupla è vuota. |
enumerate() |
restituire l’indice e il valore di tutti gli elementi della tupla come tupla. Restituisce un oggetto enumerate . |
len() |
restituire il numero di articoli in una tupla o la lunghezza della tupla. |
tuple() |
convertire una sequenza (tupla, set, stringa, dizionario) in tupla. |
max() |
restituire il numero massimo nella tupla. |
min() |
restituire il numero minimo nella tupla. |
sorted() |
restituire una tupla ordinata. |
sum() |
restituire la somma di tutti gli elementi della tupla. |
Controllo di appartenenza alla tupla
La in
keyword controlla se un elemento è un membro della tupla o meno. Vedi il codice qui sotto:
>>> l = (2, 4, 6, 8, 10)
>>> print(5 in l)
False
>>> print(2 in l
True
Iterare attraverso una tupla
Si può iterare attraverso una tupla utilizzando for
loop:
l = (2, 4, 6, 8, 10)
for i in l:
print(i)
2
4
6
8
10
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