Python: combinare due liste in un dizionario usando la comprehension

Python: combinare due liste in un dizionario usando la comprehension

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'}
Torna su