In questo articolo vedremo come combinare più liste in un unico dizionario Python.
Partiamo da queste due liste:
languages = ['Python', 'PHP', 'Java', 'JavaScript']
frameworks = ['Flask', 'Laravel', 'Spring', 'Fastify']
Vogliamo ottenere un dizionario avente come chiavi gli elementi della prima lista e come valori gli elementi della seconda.
Per ottenere questo risultato possiamo usare la comprehension dei dizionari iterando sulle due liste in parallelo con la funzione zip()
, in questo modo:
a_dict = {a: b for a, b in zip(languages, frameworks)}
print(a_dict)
zip()
associa le due liste in una serie di tuple. Ogni iterazione avrà una tuple come ad esempio ('Python', 'Flask')
, quindi ad ogni iterazione le variabili a
e b
assumeranno di volta in volta i valori correnti contenuti in ciascuna tuple. Osserviamo infatti l'output di zip()
convertito in una lista:
print(list(zip(languages, frameworks)))
Avremo:
[('Python', 'Flask'), ('PHP', 'Laravel'), ('Java', 'Spring'), ('JavaScript', 'Fastify')]
Il risultato finale sarà quindi:
{'Python': 'Flask', 'PHP': 'Laravel', 'Java': 'Spring', 'JavaScript': 'Fastify'}