Converti un dizionario in una lista in Python
-
Converti le chiavi dal dizionario in una lista usando il metodo
keys()
in Python -
Converti i valori dal dizionario in una lista usando il metodo
values()
in Python - Converti dizionario in una lista di tuple in Python
Un dizionario in Python è una combinazione di coppie chiave-valore
. Con l’aiuto della chiave
puoi accedere ai valori all’interno del dizionario. Ora convertire un dizionario in una lista in Python può significare cose diverse. O,
- È possibile separare le chiavi e convertirle in una lista
- È possibile separare i valori e convertirli in una lista
- Convertire la coppia chiave e valore del dizionario in una lista di tupla.
Converti le chiavi dal dizionario in una lista usando il metodo keys()
in Python
Supponi di avere un dizionario chiamato dictionary
con quattro coppie key-value
.
dictionary = {"a": "Apple", "b": "Banana", "c": "Cherries", "d": "Dragon Fruit"}
listOfKeys = dictionary.keys()
print("Type of variable listOfKeys is: ", type(listOfKeys))
listOfKeys = list(listOfKeys)
print("Printing the entire list containing all Keys: ")
print(listOfKeys)
print("Printing individual Keys stored in the list:")
for key in listOfKeys:
print(key)
Produzione:
Type of variable listOfKeys is: <class 'dict_keys'>
Printing the entire list containing all Keys:
['a', 'b', 'c', 'd']
Printing individual Keys stored in the list:
a
b
c
d
Puoi usare il metodo keys()
, che estrarrà tutte le keys
dal dizionario e quindi memorizzerà il risultato (tutte le chiavi) all’interno della variabile listOfKeys
.
Ora devi convertire la variabile listOfKeys
in una lista con l’aiuto della funzione list()
perché a questo punto se controlli il tipo della variabile listOfKeys
allora sarà <class 'dict_keys'>
. Ecco perché stiamo cambiando il tipo di variabile in List
e poi memorizzandolo nella stessa variabile, cioè listOfKeys
.
A questo punto, hai separato con successo tutte le chiavi dal dizionario usando la funzione keys()
e le hai convertite in una lista. Infine, per stampare gli elementi all’interno della lista, devi usare un cicli for
, che itera su ogni elemento e lo stampa.
Converti i valori dal dizionario in una lista usando il metodo values()
in Python
Il metodo values()
funziona allo stesso modo del metodo keys()
. L’unica differenza è che il metodo values()
restituisce tutti i valori del dizionario invece delle chiavi.
dictionary = {"a": "Apple", "b": "Banana", "c": "Cherries", "d": "Dragon Fruit"}
listOfValues = dictionary.values()
print("Type of variable listOfValues is: ", type(listOfValues))
listOfValues = list(listOfValues)
print("Printing the entire list containing all values: ")
print(listOfValues)
print("Printing individual values stored in the list:")
for val in listOfValues:
print(val)
Produzione:
Type of variable listOfValues is: <class 'dict_values'>
Printing the entire list containing all values:
['Apple', 'Banana', 'Cherries', 'Dragon Fruit']
Printing individual values stored in the list:
Apple
Banana
Cherries
Dragon Fruit
Si utilizza la funzione values()
sul dictionary
e quindi si memorizza il risultato restituito dalla funzione values()
all’interno della variabile listOfValues
.
Se controlli il tipo della variabile listOfValues
, il suo tipo sarà della classe <class 'dict_values'>
. Ma vuoi che sia di classe <class 'list'>
. Pertanto, devi convertire la variabile listOfValues
in una lista usando la funzione list()
e poi memorizzare il risultato nella stessa variabile, cioè listOfValues
.
Infine, stampa tutti i valori all’interno della lista listOfValues
usando un bucle.
Converti dizionario in una lista di tuple in Python
Un dizionario può essere convertito in una lista di tuple in due modi. Una è la funzione items()
e l’altra è la funzione zip()
.
1. Funzione items()
La funzione items()
converte gli elementi del dizionario in <class 'dict_items'>
e il cui risultato è memorizzato nella variabile myList
. La myList
deve essere convertita in una lista, quindi per questo, devi digitarla usando la funzione list()
e poi memorizzare il risultato nella stessa variabile cioè myList
.
dictionary = {"a": "Apple", "b": "Banana", "c": "Cherries", "d": "Dragon Fruit"}
myList = dictionary.items()
print(type(myList))
myList = list(myList)
print(myList)
Produzione:
<class 'dict_items'>
[('a', 'Apple'), ('b', 'Banana'), ('c', 'Cherries'), ('d', 'Dragon Fruit')]
2. Funzione zip()
La funzione zip()
accetta due argomenti: il primo è la chiave che usa la funzione keys()
e il secondo è il valore che usa la funzione values()
dal dizionario. Quindi restituisce un oggetto zip
che puoi memorizzare all’interno di una variabile, in questo caso, myList
.
dictionary = {"a": "Apple", "b": "Banana", "c": "Cherries", "d": "Dragon Fruit"}
myList = zip(dictionary.keys(), dictionary.values())
print(type(myList))
myList = list(myList)
print(myList)
Produzione:
<class 'zip'>
[('a', 'Apple'), ('b', 'Banana'), ('c', 'Cherries'), ('d', 'Dragon Fruit')]
Ora devi convertire l’oggetto zip
in una lista
usando la funzione list()
. Quindi è possibile memorizzare il risultato finale all’interno della stessa variabile denominata myList
o in una variabile diversa a seconda delle proprie esigenze e alla fine stampare l’intera lista.
3. iteritems()
in Python 2.x
In Python v2.x, hai anche una funzione iteritems()
, che funziona quasi allo stesso modo della funzione items()
.
iteritems()
prende ogni elemento dal dizionario
e lo converte in un tipo diverso. Se controlli il tipo della variabile myList
, sarà di tipo <type 'dictionary-itemiterator'>
. Quindi, devi convertirlo in una lista usando la funzione list()
. Se controlli il tipo della variabile myList
allora sarà di tipo <type 'list'>
e se lo stampi gli elementi saranno sotto forma di una lista di tuple.
dictionary = {"a": "Apple", "b": "Banana", "c": "Cherries", "d": "Dragon Fruit"}
myList = dictionary.iteritems()
print("Type of myList is: ", type(myList))
myList = list(myList)
print(myList)
Produzione:
('Type of myList is: ', <type 'dictionary-itemiterator'>)
[('a', 'Apple'), ('c', 'Cherries'), ('b', 'Banana'), ('d', 'Dragon Fruit')]
Assicurati di eseguire il codice precedente sul compilatore Python v2.x; altrimenti, riceverai un errore perché non abbiamo questo metodo in Python v3.x.
Sahil is a full-stack developer who loves to build software. He likes to share his knowledge by writing technical articles and helping clients by working with them as freelance software engineer and technical writer on Upwork.
LinkedInArticolo correlato - Python Dictionary
- Come controllare se una chiave esiste in un dizionario in Python
- Come ottenere tutti i file di una directory
- Trova il valore massimo nel dizionario Python
- Come ordinare un dizionario di Python per valore
- Come fondere due dizionari in Python 2 e 3