Vai al contenuto
Leo

Libreria

Liste, dizionari e funzioni

Ordinare, filtrare, trasformare e raggruppare liste e dizionari.

  • 24 voci
  • 22 voci con esempi eseguiti

Funzioni 10

mappa(lista, funzione)#

Una nuova lista con la funzione applicata a ogni elemento.

Esempioeseguito con Leo
stampa(mappa([1, 2, 3], funzione (x) restituisci x * 10 fine))
Uscita
[10, 20, 30]

filtra(lista, funzione)#

Una nuova lista con solo gli elementi per cui la funzione dà vero.

Esempioeseguito con Leo
stampa(filtra([5, 12, 8, 20], funzione (x) restituisci x > 10 fine))
Uscita
[12, 20]

riduci(lista, funzione, iniziale)#

Combina tutti gli elementi in un solo valore.

La funzione riceve il risultato "fin qui" e l'elemento successivo.

Esempioeseguito con Leo
stampa(riduci([1, 2, 3, 4], funzione (tot, x) restituisci tot + x fine))
Uscita
10
Altri esempicontrollato con Leo
variabile parole = ["mela", "pera", "mela", "kiwi"]   # valore di provariduci(parole, f, iniziale = "")

ordina_per(lista, funzione, decrescente = falso)#

Una nuova lista ordinata secondo la funzione.

La funzione dice "quanto vale" ogni elemento. A parità di valore l'ordine resta quello di prima.

Esempioeseguito con Leo
stampa(ordina_per(["banana", "fico", "kiwi"], lunghezza))
Uscita
["fico", "kiwi", "banana"]

raggruppa_per(lista, funzione)#

Un dizionario che mette insieme gli elementi con lo stesso valore.

Esempioeseguito con Leo
stampa(raggruppa_per([1, 2, 3, 4], funzione (x) restituisci x % 2 == 0 fine))
Uscita
{falso: [1, 3], vero: [2, 4]}

conta_se(lista, funzione)#

Quanti elementi fanno dare vero alla funzione.

Esempioeseguito con Leo
stampa(conta_se([18, 30, 24, 30], funzione (v) restituisci v == 30 fine))
Uscita
2

tutti(lista, funzione)#

vero se la funzione dà vero per tutti gli elementi.

Senza funzione controlla una lista di vero/falso. Una lista vuota dà vero.

Esempiocontrollato con Leo
variabile voti = [7, 8, 6, 9]   # valore di provavariabile tutti = ["mela", "pera", "kiwi"]   # valore di provatutti(voti, funzione (v) restituisci v >= 18 fine)

almeno_uno(lista, funzione)#

vero se la funzione dà vero per almeno un elemento.

Una lista vuota dà falso.

Esempioeseguito con Leo
variabile voti = [7, 8, 6, 9]   # valore di provaalmeno_uno(voti, funzione (v) restituisci v == 30 fine)

accoppia(lista1, lista2, ...)#

Mette insieme gli elementi nella stessa posizione.

Se le liste sono lunghe diverse si ferma alla più corta.

Esempioeseguito con Leo
stampa(accoppia(["Ada", "Bruno"], [30, 28]))
Uscita
[["Ada", 30], ["Bruno", 28]]

enumera(lista, inizio = 0)#

Coppie [posizione, elemento] per ogni elemento.

Esempioeseguito con Leo
stampa(enumera(["a", "b"]))
Uscita
[[0, "a"], [1, "b"]]
Altri esempicontrollato con Leo
inizio = 1

Metodi dei valori «lista» 8

Si chiamano con il punto: valore.aggiungi(…).

.aggiungi(x)#

Mette x in fondo alla lista.

Esempioeseguito con Leo
variabile voti = [7, 8, 6, 9]   # valore di provavoti.aggiungi(28)

.inserisci(indice, x)#

Mette x nella posizione indice, spostando in avanti gli altri.

Esempioeseguito con Leo
variabile nomi = ["Ada", "Bruno", "Carla"]   # valore di provanomi.inserisci(0, "Ada")variabile lista = [3, 1, 2]   # valore di provalunghezza(lista)

.rimuovi(x)#

Toglie dalla lista il primo elemento uguale a x.

Esempioeseguito con Leo
variabile frutti = ["mela", "pera", "kiwi"]   # valore di provafrutti.rimuovi("pera")variabile lista = [3, 1, 2]   # valore di provalista.estrai(0)

.estrai(indice = -1)#

Toglie dalla lista l'elemento in posizione indice e lo restituisce.

Senza indice estrae l'ultimo.

Esempioeseguito con Leo
variabile pila = [1, 2, 3]   # valore di provavariabile ultimo = pila.estrai()

.ordina(decrescente = falso)#

Mette in ordine la lista (dal più piccolo al più grande).

Gli elementi devono essere tutti numeri o tutti testi (i testi in ordine alfabetico).

Esempioeseguito con Leo
variabile voti = [7, 8, 6, 9]   # valore di provavoti.ordina()voti.ordina(decrescente = vero)

.inverti()#

Rovescia l'ordine degli elementi della lista.

Esempiocontrollato con Leo
l.inverti()

.trova(x)#

La posizione del primo elemento uguale a x, oppure nulla se non c'è.

Esempioeseguito con Leo
stampa(["a", "b", "c"].trova("b"))
Uscita
1

.conta(x)#

Quante volte x compare nella lista.

Esempioeseguito con Leo
stampa([30, 28, 30].conta(30))
Uscita
2

Metodi dei valori «dizionario» 6

Si chiamano con il punto: valore.chiavi(…).

.chiavi()#

La lista delle chiavi, nell'ordine in cui sono state aggiunte.

Esempioeseguito con Leo
stampa({"nome": "Ada", "età": 36}.chiavi())
Uscita
["nome", "età"]

.valori()#

La lista dei valori.

Esempioeseguito con Leo
stampa({"nome": "Ada", "età": 36}.valori())
Uscita
["Ada", 36]

.coppie()#

La lista delle coppie [chiave, valore].

Esempioeseguito con Leo
variabile rubrica = {"Anna": "333 1234567", "Bruno": "347 7654321"}   # valore di provaper ogni c in rubrica.coppie() fai stampa(c[0], c[1]) fine
Uscita
Anna 333 1234567
Bruno 347 7654321

.prendi(chiave, predefinito = nulla)#

Il valore della chiave, o predefinito se non c'è.

A differenza di rubrica["Anna"] non dà errore se la chiave manca.

Esempioeseguito con Leo
variabile rubrica = {"Anna": "333 1234567", "Bruno": "347 7654321"}   # valore di provarubrica.prendi("Anna", "sconosciuto")

.ha(chiave)#

vero se il dizionario contiene la chiave.

Si può scrivere anche "Anna" in rubrica.

Esempioeseguito con Leo
variabile rubrica = {"Anna": "333 1234567", "Bruno": "347 7654321"}   # valore di provase rubrica.ha("Anna") allora stampa(rubrica["Anna"]) fine
Uscita
333 1234567

.rimuovi(chiave)#

Toglie la chiave (e il suo valore) dal dizionario.

Se la chiave non c'è ricevi un ErroreChiave.

Esempioeseguito con Leo
variabile rubrica = {"Anna": "333 1234567", "Bruno": "347 7654321"}   # valore di provarubrica.rimuovi("Anna")