HOWTO · Python
Converti dizionario in tuple in Python
Questo tutorial mostra come convertire un dizionario in una lista di tuple in Python
In questa pagina
In Python, abbiamo diverse raccolte disponibili e, a volte, potremmo aver bisogno di convertire una raccolta in un’altra secondo le nostre esigenze.
Un dizionario viene utilizzato per memorizzare le coppie chiave-valore in Python. Questo tutorial discuterà diversi metodi per memorizzare queste coppie chiave-valore come tuple in una lista.
Usa la funzione items() per convertire un dizionario in una lista di tuple in Python
La funzione items() restituisce un oggetto vista con le coppie chiave-valore del dizionario come tuple in una lista. Possiamo usarlo con la funzione list() per ottenere il risultato finale come una lista. Il codice seguente implementa questo.
d1 = {"x": 1, "y": 2, "z": 3}
l1 = list(d1.items())
print(l1)
Produzione:
[('x', 1), ('y', 2), ('z', 3)]
Notare che sotto Python 3.x, la funzione iteritems() può eseguire la stessa funzione.
Usa il cicli for per convertire un dizionario in una lista di tuple in Python
In questo metodo, iteriamo nel dizionario usando il cicli for. Usiamo i tasti per accedere agli elementi e creare tuple, che vengono aggiunte a una lista vuoto. Il codice seguente implementa questo.
d1 = {"x": 1, "y": 2, "z": 3}
l2 = []
for i in d1:
tpl = (i, d1[i])
l2.append(tpl)
print(l2)
Produzione:
[('x', 1), ('y', 2), ('z', 3)]
Utilizzare il metodo di comprensione dell’lista per convertire un dizionario in una lista di tuple
List Comprehension è un modo elegante per creare liste in una singola riga di codice. Per questo metodo useremo il cicli for e la funzione items() insieme come mostrato di seguito:
d1 = {"x": 1, "y": 2, "z": 3}
l3 = [(v, k) for v, k in d1.items()]
print(l3)
Produzione:
[('x', 1), ('y', 2), ('z', 3)]
Usa la funzione zip() per convertire un dizionario in una lista di tuple
La funzione zip() restituisce un oggetto di tipo zip unendo due oggetti iterabili e formando una tupla. Possiamo passare questo oggetto alla funzione list() per ottenere il risultato finale in una nuova lista.
d1 = {"x": 1, "y": 2, "z": 3}
l4 = list(zip(d1.keys(), d1.values()))
print(l4)
Produzione:
[('x', 1), ('y', 2), ('z', 3)]
Nel codice sopra, abbiamo usato le funzioni keys() e values() per ottenere l’lista di chiavi e valori dal dizionario, rispettivamente, e combinarli usando la funzione zip().