Foglio informativo sulla comprensione di Python
Scrivi elenchi concisi e leggibili, dizionari, set e comprensioni di generatori in Python.
Elenca e imposta le comprensioni
Creazione di sequenze e set in linea utilizzando sugar loop sintattici.
| Metodo/Funzione | Sintassi | Descrizione |
|---|---|---|
| List Comprehension | [x * 2 for x in my_list] | Costruisce un nuovo elenco applicando espressioni sugli elementi di un iterabile. |
| Conditional List | [x for x in my_list if x > 0] | Applica un predicato di filtro, mantenendo solo gli elementi che soddisfano la condizione. |
| Nested Loops | [x + y for x in list1 for y in list2] | Appiattisce le operazioni nidificate. Esegue cicli interni per ogni iterazione del ciclo esterno. |
| Set Comprehension | {x for x in my_list} | Genera un set, applicando automaticamente la deduplicazione. |
Comprensioni del dizionario e del generatore
Generazione di mappature e flussi di valutazione pigra in linea.
| Metodo/Funzione | Sintassi | Descrizione |
|---|---|---|
| Dict Comprehension | {k: v for k, v in pairs} | Costruisce un dizionario in linea. |
| Conditional Dict | {k: v for k, v in pairs if k is not None} | Costruisce un dizionario ignorando i valori indesiderati. |
| Generator Expression | (x ** 2 for x in range(10)) | Restituisce un oggetto iteratore generatore lento. Valuta gli elementi uno alla volta per risparmiare memoria. |
Script dimostrativo interattivo
# List Comprehension
[x * 2 for x in my_list]
# Conditional List
[x for x in my_list if x > 0]
# Nested Loops
[x + y for x in list1 for y in list2]
# Set Comprehension
{x for x in my_list}
# Dict Comprehension
{k: v for k, v in pairs}
# Conditional Dict
{k: v for k, v in pairs if k is not None}
# Generator Expression
(x ** 2 for x in range(10))Domande frequenti
Quando dovrei evitare di usare le comprensioni delle liste?
Evita le comprensioni degli elenchi se sono eccessivamente complessi o hanno più cicli annidati, poiché ciò riduce la leggibilità del codice.
Qual è la differenza tra una comprensione di lista e un'espressione di generatore?
Le comprensioni dell'elenco valutano immediatamente e costruiscono l'elenco in memoria, mentre le espressioni del generatore producono elementi pigramente su richiesta, risparmiando memoria.
Argomenti correlati
Padroneggia istruzioni condizionali, loop e strutture di controllo dei loop in Python. Impara se-altro, per, mentre, interrompi e continua.
Foglio informativo sulle funzioni integrate di PythonGuida di riferimento alle funzioni integrate di Python. Scopri come utilizzare stampa, lente, intervallo, enumerazione, zip, mappa, filtro e altro ancora.
Foglio informativo su raccolte Python e strutture datiGuida completa al modulo delle raccolte Python e alle strutture dati native. Impara elenchi, dettami, insiemi, tuple, deque e tuple nominate.
Risorse Python consigliate
Espandi le tue conoscenze con tutorial interattivi, foglietti illustrativi e confronti di codici correlati.
Comprensioni di Python
Scrivi Python più pulito e più veloce. Elenco principale, dizionario e comprensioni di set con esempi pratici, condizioni di filtraggio e cicli nidificati.
Come ordinare un elenco in Python
Scopri come ordinare un elenco in Python utilizzando il metodo sort() e la funzione sorted(). Scopri l'ordinamento delle chiavi personalizzato e gli esempi di ordine inverso.
Python vs JavaScript: quale linguaggio di programmazione è il migliore?
Un confronto completo tra Python e JavaScript. Esplora le differenze di sintassi, le prestazioni, i casi d'uso (backend e frontend) ed esempi di codifica.