Dino Geek, cerca di aiutarti

Come utilizzare il filtro mappa e ridurre le funzioni in Python?


Python fornisce tre funzioni integrate che sono molto utili per le operazioni più comuni sui dati: `map()`, `filter()`, e `reduce()`.

  1. `filter()`

La funzione `filter()` costruisce una lista di elementi per i quali una funzione restituisce true. Ecco un piccolo esempio:

```

  1. Questa funzione raddoppia il valore di un numero se è pari
    def filtra_pari(num): if num % 2 == 0: return True else: return False

  1. Lista di numeri
    lista = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
  1. Usiamo filter per filtrare i numeri pari
    lista_pari = filter(filtra_pari, lista)
  1. Output: [0, 2, 4, 6, 8, 10, 12]
    print(list(lista_pari))
    ```

  1. `map()`

La funzione `map()` applica una funzione a tutti gli elementi di una lista di input. Ecco un piccolo esempio:

```

  1. Questa funzione raddoppia il valore di un numero
    def raddoppia(n): return n * 2

  1. Lista di numeri
    lista = [1, 2, 3, 4, 5, 6]

lista_raddoppiata = map(raddoppia, lista)

  1. Output: [2, 4, 6, 8, 10, 12]
    print(list(lista_raddoppiata))
    ```

  1. `reduce()`

La funzione `reduce(fun, seq)` applica continuamente la funzione `fun()` alla sequenza `seq()`. Restituisce un unico valore.

Se `seq = [s1, s2, s3, …, sn]`, la chiamata della funzione `reduce(fun, seq)` funziona così:

Prima di tutto, i primi due elementi della seq vengono applicati a fun, cioè `fun(s1,s2)` La lista su cui `reduce()` funziona ora è così: `[fun(s1, s2), s3, …, sn]`

Poi `fun(fun(s1, s2),s3)` viene chiamato, e così via fino a che non rimane un solo elemento e `reduce()` restituisce questo elemento come risultato.

`reduce()` è disponibile nel modulo `functools`.

```
from functools import reduce

  1. Funzione per moltiplicare i numeri
    def moltiplica(x,y): return x*y;
  1. Lista di numeri
    lista = [1, 2, 3, 4, 5]
  1. Usiamo reduce() per moltiplicarli tutti
    prod = reduce(moltiplica, lista)
  1. Output: 120
    print(prod)
    ```

Genera semplicemente articoli per ottimizzare il tuo SEO
Genera semplicemente articoli per ottimizzare il tuo SEO





DinoGeek offre articoli semplici su tecnologie complesse

Vuoi essere citato in questo articolo? È molto semplice, contattaci a dino@eiki.fr

CSS | NodeJS | DNS | DMARC | MAPI | NNTP | htaccess | PHP | HTTPS | Drupal | WEB3 | LLM | Wordpress | TLD | Nome dominio | IMAP | TCP | NFT | MariaDB | FTP | Zigbee | NMAP | SNMP | SEO | E-Mail | LXC | HTTP | MangoDB | SFTP | RAG | SSH | HTML | ChatGPT API | OSPF | JavaScript | Docker | OpenVZ | ChatGPT | VPS | ZIMBRA | SPF | UDP | Joomla | IPV6 | BGP | Django | Reactjs | DKIM | VMWare | RSYNC | Python | TFTP | Webdav | FAAS | Apache | IPV4 | LDAP | POP3 | SMTP

| Whispers of love (API) | Déclaration d'Amour |






Avviso Legale / Condizioni Generali di Utilizzo