0Pricing
Python Academy · Lezione

Comprehension dei dizionari

Costruisca dizionari in modo conciso con la sintassi delle comprehension.

Comprehension dei dizionari è una lezione Python Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Python Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Python Academy include 4 lezioni in totale.

Introduzione

Le dictionary comprehension offrono un modo conciso per creare dizionari a partire da qualsiasi iterabile.

Dictionary comprehension di base

{k: v for k, v in items} è la forma base. Esempio: {x: x**2 for x in range(5)} associa i numeri ai loro quadrati.
squares = {x: x**2 for x in range(5)}
print(squares)

Con una condizione

Aggiunga if alla fine per filtrare: {x: x**2 for x in range(10) if x % 2 == 0} mantiene solo i numeri pari.
evens = {x: x**2 for x in range(10) if x % 2 == 0}
print(evens)

Invertire un dizionario

{v: k for k, v in d.items()} scambia chiavi e valori. Funziona solo se tutti i valori sono univoci e hashable.
d = {'a': 1, 'b': 2, 'c': 3}
inverted = {v: k for k, v in d.items()}
print(inverted)

Da due liste

{k: v for k, v in zip(keys, values)} è il modo più chiaro per creare un dizionario da liste parallele.
keys = ['name', 'age']
vals = ['Alice', 30]
d = {k: v for k, v in zip(keys, vals)}
print(d)

Trasformare i valori

Applichi una funzione a tutti i valori: {k: v.upper() for k, v in d.items()} converte in maiuscolo tutti i valori stringa.
d = {'a': 'hello', 'b': 'world'}
result = {k: v.upper() for k, v in d.items()}
print(result)

Dictionary comprehension annidata

{outer_k: {inner_k: inner_v} ...} annida le comprehension. Tenga presente la leggibilità: se l’espressione è complessa, utilizzi un ciclo normale.
nested = {i: {j: i*j for j in range(3)} for i in range(3)}
print(nested)

Raggruppare con una comprehension

Raggruppi gli elementi in base a una proprietà: {k: [v for v in values if condition(v, k)] for k in keys}
words = ['apple', 'art', 'banana', 'blueberry']
grouped = {ch: [w for w in words if w.startswith(ch)] for ch in 'ab'}
print(grouped)

Unione e sovrascrittura

{**d1, **d2} unisce due dizionari in modo simile a una comprehension. In caso di chiavi duplicate, prevalgono i valori di d2.
d1 = {'a': 1, 'b': 2}
d2 = {'b': 99, 'c': 3}
merged = {**d1, **d2}
print(merged)

Dict e defaultdict

Le comprehension creano normali dizionari. Utilizzi defaultdict quando ha bisogno dell’inizializzazione automatica delle chiavi mancanti.
from collections import defaultdict
d = defaultdict(list)
for w in ['apple', 'art', 'banana']:
    d[w[0]].append(w)
print(dict(d))

Prestazioni

Le dictionary comprehension sono generalmente più veloci di costruzioni equivalenti con un ciclo for, perché l’interprete le ottimizza internamente.
# Comprehension
squares = {x: x**2 for x in range(1000)}
print(len(squares))

Verifica rapida

Che cosa fa {v: k for k, v in d.items()}?

Riepilogo

Dictionary comprehension: {k: v for ... if ...}. Le utilizzi per invertire i dizionari, trasformare i valori, raggruppare e filtrare. Le combini con zip() per le liste parallele.

Continui così

Ottimo lavoro! Passi alla lezione successiva per continuare a sviluppare le Sue competenze.

Domande Frequenti

La lezione «Comprehension dei dizionari» è gratuita?

Sì — il testo completo di «Comprehension dei dizionari» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Python Academy, passa a CoddyKit PRO. Il corso Python Academy include 4 lezioni in totale.

Cosa imparerò in «Comprehension dei dizionari»?

Costruisca dizionari in modo conciso con la sintassi delle comprehension. Eserciti Python Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Python Academy?

Non è richiesta alcuna esperienza precedente. Python Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.

Quanto tempo richiede la lezione «Comprehension dei dizionari»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Python Academy?

Sì. Ogni lezione Python Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Basi dei dizionari
  2. Metodi dei dizionari
  3. Insiemi e operazioni sugli insiemi
  4. Comprehension dei dizionari
← Torna a Python Academy