python tuple tutorial with hands examples
Esplora il concetto di Tuple in Python e Tuple vs List in questo tutorial con esempi:
In Python, abbiamo quattro tipi di dati di raccolta come indicato di seguito:
- Elenco
- Impostato
- Dizionario
- Tupla
In questo tutorial, daremo uno sguardo approfondito a Tuple in Python e alle sue varie operazioni. Non perdere l'occasione di leggere il nostro Tutta la gamma di tutorial su Python .
In Python, la tupla è una struttura di dati ed è simile a un array che viene utilizzato per memorizzare più dati contemporaneamente. Se hai esperienza in altri linguaggi di programmazione come Java, C, C ++, ecc. Allora avrai familiarità con il concetto di array, quindi la tupla è quasi la stessa degli array.
Cosa imparerai:
- Cos'è una tupla?
- Tupla vs elenco
- Creazione di una tupla
- Accesso ai valori in Tuple
- Indicizzazione negativa
- Affettare la tupla
- Modifica di una tupla
- Conversione da elenco a tupla
- Conversione di tupla in stringa
- Ordina tupla in Python
- Imballaggio e disimballaggio della tupla
- NamedTuple
- Return Tuple
- Indice di tupla fuori intervallo
- Eliminazione della tupla
- Operazioni di base sulle tuple
- Metodi di tuple incorporati
- Conclusione
- Lettura consigliata
Cos'è una tupla?
Una tupla è una struttura dati utilizzata per archiviare più dati contemporaneamente. I dati memorizzati in una tupla sono eterogenei e questo infatti la rende la caratteristica più potente della tupla in Python. Possiamo memorizzare più dati di diversi tipi di dati come String, Integer e anche oggetti in una singola tupla.
Una tupla è immutabile in Python, quindi i dati non possono essere modificati una volta assegnati.
Ai dati archiviati in una tupla si accede utilizzando il loro indice, poiché l'indice della tupla inizierà sempre da zero. Ogni elemento ha una posizione specifica nella tupla e tutti questi dati sono accessibili con l'aiuto dell'indice.
Tupla vs elenco
- L'elenco in Python è modificabile (i valori possono essere modificati) mentre la tupla è immutabile (i valori non possono essere modificati)
- Se confrontata con la struttura dei dati dell'elenco, tuple fornisce meno funzionalità in Python.
- Poiché le tuple sono immutabili, aumenta le prestazioni poiché l'iterazione in una tupla è più veloce rispetto all'elenco.
Creazione di una tupla
I dati in una tupla vengono memorizzati con valori separati da virgola e sono racchiusi tra parentesi quadre (). Le tuple possono contenere un numero qualsiasi di elementi di diversi tipi.
Sintassi:
Tuple = (item1, item2, item3)
Esempio 1
Tuple = ()
Esempio: 2
Tuple = (2, 4, 5.6)
Esempio: 3
Tuple = (2, 5, 4.5, “Hi”)
Esempio: 4
Tuple = (“Hi”, “Hello”, “Python”)
Se osserviamo gli esempi precedenti, abbiamo memorizzato elementi di diversi tipi di dati con una virgola dove 2 e 5 sono di tipo Integer, 4.5 è di tipo float e 'Hi' è di tipo String. Possiamo dichiarare anche una tupla vuota.
miglior pulitore pc gratuito per windows 7
Possiamo anche dichiarare una lista o una tupla all'interno di una tupla, e questo è chiamato tupla annidata.
Esempio: 5
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“Contents of tuple is:”, Tuple)
Produzione:
Il contenuto della tupla è: ('Python', (2, 4, 6), (4, 5.6, 'Ciao'))
Se osservi l'esempio precedente, abbiamo dichiarato una lista e una tupla all'interno di un'altra tupla.
Se la tupla contiene solo un elemento, non viene considerata come una tupla. Dovrebbe essere una virgola finale per specificare all'interprete che è una tupla.
Vediamo, nell'esempio seguente
Esempio: 6
my_tuple = (“Python”) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (10) Print(“Type of my_tuple is:”, type(my_tuple)) my_tuple = (“Python”, ) Print(“Type of my_tuple is:”, type(my_tuple))
Produzione:
Il tipo di my_tuple è:
Il tipo di my_tuple è:
Il tipo di my_tuple è:
Accesso ai valori in Tuple
Esistono diversi modi in cui possiamo accedere agli elementi presenti all'interno della tupla in Python. Con l'aiuto di un indice, possiamo accedere agli elementi della tupla. L'indice inizia da 0 e l'indice dovrebbe sempre essere un numero intero. Se usiamo un indice diverso da un intero come float, risulterà in TypeError.
Esempio 1
Tuple = (3, 5, 6.7, “Python”) print(“Tuple is:”, Tuple)
Produzione:
La tupla è: (3. 5. 6.7, 'Python')
Nell'esempio sopra, abbiamo stampato direttamente la tupla usando la funzione print e non stiamo accedendo ai singoli elementi della tupla.
Accediamo ai singoli elementi della tupla.
Esempio: 2
Tuple = (3, 5, 6.7, “Python”) print(“Third element of the Tuple is:”, Tuple(2))
Produzione:
Il terzo elemento della tupla è: 6.7
Esempio: 3
Tuple = (3, 5, 6.7, “Python”) print(“First element of the Tuple is:”, Tuple(0)) print(“Last element of the Tuple is:”, Tuple(3))
Produzione:
Il primo elemento della tupla è: 3
L'ultimo elemento della tupla è: 'Python'
Possiamo anche accedere agli elementi presenti nella tupla annidata con l'aiuto dell'indicizzazione annidata.
Esempio: 4
Tuple = (“Python”, (2, 4, 6), (4, 5.6, “Hi”)) print(“First element of the tuple is:”, Tuple(0)(1)) print(“Items present inside another list or tuple is:”, Tuple(2)(1))
Produzione:
Il primo elemento della tupla è: 'y'
Gli elementi presenti all'interno di un'altra lista o tupla sono: 5.6
Come discusso in Tutorial sull'elenco di Python i valori all'interno dell'elenco annidato vengono memorizzati sotto forma di una matrice, analogamente, anche Tuple segue lo stesso concetto.
P y t h o n
2 4 6
4 5.6 Salve
Quindi, quando proviamo ad accedere a Tuple (0) (1), punterà a 1striga e 2ndcolonna in modo che i dati siano 'y'.
Allo stesso modo, quando proviamo ad accedere a List (2) (1), punterà a 3rdriga e 2ndcolonna così, i dati saranno 5.6
Nota:Il concetto precedente funziona solo quando si tenta di accedere agli elementi della tupla utilizzando l'indicizzazione annidata.
Indicizzazione negativa
Possiamo accedere ai dati anche utilizzando un indice negativo. Un indice negativo inizierà sempre da -1 e -1 si riferisce all'ultimo elemento e -2 si riferisce all'ultimo secondo elemento e quindi insieme.
Ricorda sempre che l'indicizzazione positiva viene utilizzata per iterare gli elementi di una tupla in avanti, mentre l'indicizzazione negativa segue la modalità all'indietro.
Esempio 1
Tuple = (3, 5, 7.8) print(“Last element of the tuple is:”, Tuple(-1))
Produzione:
L'ultimo elemento della tupla è: 7.8
Esempio: 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Produzione:
Il primo elemento della tupla è: 3
Affettare la tupla
Usando l'operatore slice (:), possiamo accedere a una serie di elementi dalla tupla.
Esempio 1
Tuple = (1, 2.5, 3, 4.9, 5, 6, “Python”) print(“Elements from 2nd to 5th is: ”, Tuple(1:5)) print(“Elements beginning to 4th is: ”, Tuple(:-3)) print(“Elements 4th to end is: ”, Tuple(3:)) print(“Elements from start to end is: “, Tuple(:))
Produzione:
Gli elementi dal 2 ° al 5 ° sono: (2.5, 3, 4.9, 5)
Gli elementi che iniziano al 4 ° sono: (1, 2.5, 3, 4.9)
Gli elementi dal quarto alla fine sono: (4.9, 5, 6, 'Python')
Gli elementi dall'inizio alla fine sono: (1, 2.5, 3, 4.9, 5, 6, 'Python')
Possiamo anche accedere agli elementi presenti nella tupla usando il ciclo for.
Esempio: 2
Tuple = (3, 5, 7.8) print(“First element of the tuple is:”, Tuple(-3))
Produzione:
uno
Due
3.5
5
'Ciao'
Modifica di una tupla
Come sappiamo, le tuple sono immutabili in Python, quindi i dati non possono essere modificati, ma gli elenchi sono mutabili. Pertanto le liste presenti all'interno delle tuple (tuple annidate) possono essere modificate.
Esempio 1
Tuple = (3, 4.5, (4, 5, 6)) print(“Original Tuple is:”, Tuple) Tuple(2)(0) = 2 print(“Updated Tuple is:”, Tuple)
Produzione:
La tupla originale è: (3, 4.5, (4, 5, 6))
La tupla aggiornata è: (3, 4.5, (2, 5, 6))
Non possiamo usare la funzione append () o extent () nella tupla poiché le tuple non sono modificabili. Inoltre, non è possibile utilizzare anche la funzione remove () o pop ().
Conversione da elenco a tupla
Possiamo convertire un elenco in Tuple usando una funzione incorporata di Python chiamata tuple ().
Sintassi:
tuple(arg1)
La funzione Tuple () accetta un argomento e l'argomento dovrebbe essere il nome della variabile dell'elenco.
Esempio 1
List = (2, 4, 5.6, “Hi”) print(“Original List is:”, List) Tuple = tuple(List) print(“After converting to tuple is:”, Tuple)
Produzione:
L'elenco originale è: (2, 4, 5.6, 'Ciao')
Dopo la conversione in tupla è: (2, 4, 5.6, 'Ciao')
Conversione di tupla in stringa
Possiamo anche convertire Tuple in String usando 2 modi.
Approccio: 1
Usando il metodo integrato join () da String, possiamo convertire Tuple in String.
Esempio 1
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Produzione:
Prima della conversione in stringa: ('P', 'y', 't', 'h', 'o', 'n')
Dopo la conversione in String: 'Python'
Approccio: 2
Il metodo reduce () dai functools viene utilizzato per convertire Tuple in String. Questo metodo concatena il carattere presente nella tupla e produce una stringa.
Esempio: 2
import operator import functools def convertTupleToString(my_tuple): s = functools.reduce(operator.add, (my_tuple)) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Produzione:
Prima della conversione in stringa: ('P', 'y', 't', 'h', 'o', 'n')
Dopo la conversione in String: 'Python'
Nota: È possibile convertire la tupla in stringa solo se la tupla contiene caratteri. Se la tupla contiene un elemento di tipo integer o float, genererà un errore.
Esempio: 3
def convertTupleToString(my_tuple): s = ‘’.join(my_tuple) return s Tuple = (‘P’, ‘y’, ‘t’, ‘h’, ‘o’, ‘n’, 4, 6.5) print(“Before converting to String:”, Tuple) str = convertTupleToString(Tuple) print(“After converting to String:”, str)
Produzione:
Prima della conversione in stringa: ('P', 'y', 't', 'h', 'o', 'n', 4, 6.5)
Traceback (la chiamata più recente per ultima):
File '', riga 1, in
str = '.join (Tuple)
TypeError: elemento della sequenza 6: istanza di str prevista, int trovato
Ordina tupla in Python
In python, abbiamo una funzione incorporata chiamata Sort () per ordinare gli elementi della tupla.
Sintassi:
sorted(arg1)
Il metodo Sort () accetta un argomento che è il nome di una variabile.
Esempio 1
def sortTuple(my_tuple): sort = sorted(my_tuple) return sort Tuple = (2, 4, 6, 1, 4, 7.8, 2.7) print(“Before sorting the Tuple is:”, Tuple) sortedTuple = sortTuple(Tuple) print(“After sorting the Tuple is:”, sortedTuple)
Produzione:
Prima di ordinare la tupla è: (2, 4, 6, 1, 4, 7.8, 2.7)
Dopo aver ordinato la tupla è: (1, 2, 2.7, 4, 4, 6, 7.8)
Imballaggio e disimballaggio della tupla
Python fornisce un'importante funzionalità chiamata impacchettamento e decompressione. Nella compressione, mettiamo il valore in una tupla, ma nello spacchettamento estraiamo tutti quei valori memorizzati nelle tuple in variabili.
Esempio 1
Tuple = (“John”, 23567, “Software Engineer”) (eName, eID, eTitle) = Tuple print(“Packed tuples is:”, Tuple) print(“Employee name is:”, eName) print(“Employee ID is:”, eID) print(“Employee Title is:”, eTitle)
Produzione:
Le tuple impacchettate sono: ('John', 23567, 'Software Engineer')
Il nome del dipendente è: John
L'ID dipendente è: 23567
Il titolo del dipendente è: Software Engineer
Se noti nel caso precedente nella riga numero 2, stiamo decomprimendo la tupla in alcune variabili.
Nota: Il numero di elementi nella tupla dovrebbe essere uguale al numero delle variabili nella tupla decompressa.
NamedTuple
Python fornisce un tipo speciale di funzione chiamata namedtuple () che proviene dal modulo di raccolta.
Le tuple con nome sono simili a un dizionario che contiene chiavi e valori. Ma la differenza è che nel dizionario possiamo accedere solo al valore utilizzando la chiave, ma NamedTuple supporta l'accesso sia dal valore che dalla chiave.
il gateway predefinito non è disponibile ethernet
Ci sono tre modi attraverso i quali possiamo accedere ai valori di nemaedtuple ().
- Accesso per indice
- Accesso con chiave
- Accesso tramite il metodo getattr ()
Esempio 1
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) #Accessing using index print(“Employee name is:”, Emp(0)) # Accessing using key print(“Employee ID is:”, Emp.ID) #Access by getattr() method print(“Employee Title is:”, getattr(Emp, ‘Title’))
Produzione:
Il nome del dipendente è: John
L'ID dipendente è: 23567
Il titolo del dipendente è: Software Engineer
Abbiamo anche tre operazioni di conversione supportate per la funzione namedtuples ().
- _rendere()
- _asdict ()
- ** Operatore (Double start)
Esempio: 2
import collections Employee = collections.namedtuple(‘Employee’, (‘name’, ‘ID’, ‘Title’)) Emp = Employee(‘John’, ‘23567’, ‘Software Engineer’) Emp1 = (‘Mathew’, ‘45783’, “Software Developer”) Emp2 = {‘name’ : “Helen”, ‘ID’ : 56873, ‘Title’ : “Test Lead”} #Using _make() print(Employee._make(Emp1)) #Using _asdict() print(Emp._asdict()) #Using ** operator print(Employee(**Emp2))
Produzione:
Dipendente (nome = 'Mathew', ID = '45783 ′, titolo =' Sviluppatore software ')
OrderedDict ((('name', 'John'), ('ID', '23567'), ('Title', 'Software Engineer')))
Dipendente (nome = 'Helen', ID = 56873, titolo = 'Test Lead')
Return Tuple
Possiamo restituire la raccolta di valori o tuple utilizzando l'istruzione return.
Esempio 1
def my_fun(): name = “John” ID = 23567 Title = “Software Engineer” return (name, ID, Title) employee = my_fun() print(“Employee detail is:”, employee)
Produzione:
I dettagli del dipendente sono: ('John', 23567, 'Software Engineer')
Indice di tupla fuori intervallo
L'indice fuori intervallo è una delle eccezioni comuni che otterremo lavorando con le tuple o l'elenco. Questa eccezione di solito si verifica quando provi ad accedere a un elemento al di fuori della tupla, range, il che significa che se le tuple contengono solo 3 elementi e se provi ad accedere althelemento quindi otterrà l'indice della tupla fuori dall'eccezione dell'intervallo.
Esempio 1
Tuple = (4, 7, 1.2, “Hi”) print(Tuple(4))
Produzione:
Traceback (la chiamata più recente per ultima):
File '', riga 1, in
Tupla (4)
IndexError: indice della tupla fuori intervallo
Se osservi nell'esempio sopra, stiamo cercando di accedere all'elemento che è presente al 5thposition, ma non è presente alcun elemento, quindi genera un indice di tupla fuori dall'eccezione dell'intervallo.
Eliminazione della tupla
Non è possibile eliminare singoli elementi dalla tupla poiché le tuple sono immutabili. L'unico modo per eliminare gli elementi dalla tupla è eliminare l'intera tupla.
Python fornisce una funzione incorporata 'del' per eliminare l'intera tupla.
Esempio 1
Tuple = (2, 4.5, “Python”) print(“Before deleting the tuple:”, Tuple) del Tuple print(“After Deleting the tuple:”, Tuple)
Produzione:
Prima di eliminare la tupla: (2, 4.5, 'Python')
Traceback (la chiamata più recente per ultima):
File '', riga 1, in
print ('Dopo aver eliminato la tupla:', Tupla)
NameError: il nome 'Tuple' non è definito
Nell'esempio sopra, dopo aver eliminato la tupla, stiamo cercando di stampare la tupla, ma non esiste più. Quindi lancia NameError.
Operazioni di base sulle tuple
Usando le tuple, possiamo eseguire alcune operazioni di base come la concatenazione, la ripetizione, ecc.
Vediamo tutte le operazioni di base con alcuni esempi.
Esempio: 1 - Tuple Concatenation
Possiamo concatenare le tuple utilizzando l'operatore '+'.
Tuple1 = (3, 5, “Hi”) Tuple2 = (5.6, 1, “Python”) print(“Tuple 1 is:”, Tuple1) print(“Tuple 2 is”, Tuple2) print(“Concatenation of Tuple 1 and Tuple 2 is:”, Tuple1+Tuple2)
Produzione:
La tupla 1 è: (3, 5, 'Ciao')
La tupla 2 è: (5.6, 1, 'Python')
La concatenazione di tupla 1 e tupla 2 è: (3, 5, 'Ciao', 5.6, 1, 'Python')
Esempio: 2 - Tuple Repetition
La ripetizione di tuple significa ripetere più volte gli elementi delle tuple. Ciò può essere ottenuto utilizzando l'operatore '*'.
Tuple = (3, 1, 5.6, “Python”) print(“Before the repetition the tuple is:”, Tuple) print(“After the repetition the tuple is:”, Tuple*3)
Produzione:
app time card per iphone e android
Prima della ripetizione, la tupla è: (3, 1, 5.6, 'Python')
Dopo la ripetizione, la tupla è: (3, 1, 5.6, 'Python', 3, 1, 5.6, 'Python', 3, 1, 5.6, 'Python')
Esempio: 3 - Operatore di appartenenza
Utilizzando l'operatore 'in', possiamo verificare se un particolare elemento è presente nella tupla. Restituisce il valore booleano True se l'elemento è presente nella tupla e restituisce False se l'elemento non è presente.
Tuple = (3, 2, 6) print(“Is element 2 present in Tuple:”, 2 in Tuple)
Produzione:
L'elemento 2 è presente in Tuple: True
Metodi di tuple incorporati
Python fornisce un paio di metodi integrati per le tuple, come descritto nella tabella seguente.
Metodi | Descrizione |
---|---|
qualunque() | Restituisce True se qualsiasi elemento presente in una tupla e restituisce False se la tupla è vuota |
min () | Restituisce l'elemento più piccolo (Integer) della tupla |
max () | Restituisce l'elemento più grande (Integer) della tupla |
len () | Restituisce la lunghezza della tupla |
smistato() | Utilizzato per ordinare tutti gli elementi della tupla |
somma() | Restituisce la somma di tutti gli elementi (numeri interi) delle tuple |
Vediamo come utilizzare tutti i metodi con un esempio.
Esempio: 1 - metodo any ()
Tuple = (3, 1, 4.5) print(“Is there any elements present in Tuple:”, any(Tuple)) Tuple1 = () print(“Is there any elements present in Tuple1:”, any(Tuple1))
Produzione:
Sono presenti elementi in Tuple: True
Sono presenti elementi in Tuple1: False
Esempio: 2 - metodo min ()
Tuple = (3, 5.6, 5, 8) print(“Smallest element in the tuples is:”, min(Tuple))
Produzione:
L'elemento più piccolo nelle tuple è: 3
Esempio: 3 - metodo max ()
Tuple = (3, 5.6, 5, 8) print(“Largest element in the tuples is:”, max(Tuple))
Produzione:
L'elemento più grande nelle tuple è: 8
Esempio: 4 - metodo len ()
Tuple = (3, 5.6, 5, 8) print(“Length of the tuple is:”, len(Tuple))
Produzione:
La lunghezza della tupla è: 4
Esempio: 5 - metodo Sort ()
Tuple = (2, 3.5, 1, 6, 4) print(“Sorted integer is:”, sorted(Tuple)) Tuple1 = (‘e’, ‘a’, ‘u’, ‘o’, ‘i’) print(“Sorted character is:”, sorted(Tuple1))
Produzione:
Il numero intero ordinato è: (1, 2, 3.5, 4, 6)
Il carattere ordinato è: ('a', 'e', 'i', 'o', 'u')
Esempio: 6 - metodo sum ()
Num = (3, 5.1, 2, 9, 3.5) print('Sum of all the numbers in the tuples is:', sum(Num))
Produzione:
La somma di tutti i numeri nelle tuple è: 22.6
Conclusione
Una tupla è uno dei tipi di dati in Python, noto anche come struttura dati.
Una tupla Python viene utilizzata per memorizzare un gran numero di valori di qualsiasi tipo di dati in una singola variabile. Le tuple sono immutabili, quindi aumenta le prestazioni di accesso ai valori dalla tupla.
Quando si lavora con le tuple, è obbligatorio ricordare tutti i metodi incorporati nelle tuple.
Spero che tu abbia acquisito una conoscenza immensa sul concetto di tupla in Python !!
Lettura consigliata
- Tutorial Python DateTime con esempi
- Tutorial Python per principianti (formazione pratica GRATUITA su Python)
- Tutorial sulle funzioni principali di Python con esempi pratici
- Tutorial approfonditi su Eclipse per principianti
- Funzioni stringa Python
- Tutorial Python String Split
- Tutorial JAVA per principianti: oltre 100 tutorial video Java pratici
- Variabili Python