List, Set, Dictionary Comprehensions in Python
Impariamo le list, dictionary, set comprehensions in python.
Comprensioni in Python:
La comprensione consiste in una singola espressione seguita da almeno una clausola for
e da zero o più clausole for
o if
.
Ci sono tre comprensioni in Python.
Comprensioni di liste:
Le comprensioni di liste forniscono un modo conciso per creare liste. Applicazioni comuni sono fare nuove liste dove ogni elemento è il risultato di alcune operazioni applicate ad ogni membro di un’altra sequenza o iterabile o creare una sottosequenza di quegli elementi che soddisfano una certa condizione. – python docs
Sintassi:
L’espressione può essere qualsiasi espressione arbitraria, espressioni complesse, tuple, funzioni annidate o un’altra comprensione di lista.
Questo è equivalente a
for item in iterable:
if conditional:
expression
Tipo di ritorno:
List
Utilizzando la comprensione della lista:
Una comprensione della lista consiste di parentesi contenenti un’espressione seguita da una clausola
for
, poi zero o più clausole for
o if
. Il risultato sarà una nuova lista risultante dalla valutazione dell’espressione nel contesto delle clausole for
e if
che la seguono.
List comprehension vs for loop.
Utilizzando List Comprehension, è più conciso e leggibile rispetto a for loop.
Trovare il quadrato dei numeri usando List Comprehension vs for loop:
List comprehension vs filter.
Ritorna un iteratore da quegli elementi di iterable per i quali la funzione ritorna true. L’iterabile può essere sia una sequenza, un contenitore che supporta l’iterazione, o un iteratore
Finding Even Numbers Using List Comprehension vs filter():
3.List Comprehension vs map.
map:
Ritorna un iteratore che applica una funzione ad ogni elemento dell’iterabile, dando i risultati.
Trovare il quadrato dei numeri usando List Comprehension vs map():
Cloop annidati in List Comprehension.
List comprehension può contenere una o più clausole for.
Esempio 1: Appiattire una lista usando la comprensione della lista con due clausole ‘for’:
5.Multiple if condition in List Comprehension.
La comprensione della lista può contenere zero o più clausole if.
Esempio: Trovare i numeri divisibili per 2 e 3.
L’espressione può essere una tupla nella comprensione di lista.
Possiamo menzionare l’espressione come una tupla in una comprensione di lista. Dovrebbe essere scritto tra parentesi. Altrimenti, solleverà un errore. Il risultato sarà una lista di tuple.
Esempio 1: Creare una lista di tuple usando la List Comprehension con due clausole ‘for’:
Se l’espressione è una tupla e se non è racchiusa tra parentesi, solleverà SyntaxError.
Esempio 2:Usare la funzione zip() in List Comprehension:
List comprehension può essere usata per chiamare un metodo su ogni elemento.
Esempio 1: chiamare il metodo strip() su ogni elemento della lista. Viene usato per togliere gli spazi bianchi.
Esempio 2: Chiamare il metodo upper() su ogni elemento della lista.
La comprensione delle liste può contenere espressioni complesse e funzioni annidate.
Esempio 1: Nell’esempio seguente, nell’espressione stiamo usando il metodo strip e la funzione int.
Esempio 2: Nell’esempio seguente, nell’espressione, stiamo usando la funzione abs() e str().
Comprensione di lista annidata.
L’espressione in una comprensione di lista può includere anche un’altra comprensione di lista.
Esempio: La prima List comprehension data come espressione restituirà una lista di numeri pari da 0 a 10. La comprensione di lista annidata restituirà quell’espressione (lista di numeri pari da 0 a 10) tre volte (range(3)).