List, Set, Dictionary Comprehensions in Python

Impariamo le list, dictionary, set comprehensions in python.

Indhumathy Chelliah

Follow

Jul 22, 2020 – 5 min read

Foto di Kara Eads su Unsplash

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.

Tipi di comprensione in Python (Fonte immagine: Autore)

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 explained(Image Source: Author)

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:

for loop vs List comprehension

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():

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():

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’:

Appiattire una lista usando la comprensione della lista

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.

Comprensione di lista usando due clausole if

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’:

Lista di tuple

Se l’espressione è una tupla e se non è racchiusa tra parentesi, solleverà SyntaxError.

L’espressione deve essere racchiusa tra parentesi se è una tupla.

Esempio 2:Usare la funzione zip() in List Comprehension:

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.

chiamare il metodo strip() su ogni elemento

Esempio 2: Chiamare il metodo upper() su ogni elemento della lista.

chiamare il metodo upper() su ogni elemento

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)).

Comprensione di lista annidata

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.