Liste 4: metodi di ricerca¶

Riferimenti: SoftPython - liste 4

  • visualizza al meglio in
  • versione stampabile: clicca qua
  • per navigare nelle slide: premere Esc


Summer School Data Science 2023 - Modulo 1 informatica: Moodle

Docente: David Leoni david.leoni@unitn.it

Esercitatore: Luca Bosotti luca.bosotti@studenti.unitn.it

Liste - Metodi di ricerca¶

Metodo Ritorna Descrizione
list.count(object) int Conta le occorrenze di un elemento
list.index(object) int Trova la prima occorrenza di un elemento e ne ritorna la posizione
list.remove(object) None Rimuove la prima occorrenza di un elemento
str1.split(str2) list Produce una lista con tutte le parole in str1 separate da str2

ATTENZIONE: spesso questi metodi vengono abusati portando a codice incorretto / inefficiente, usali con giudizio!

Riferimenti: SoftPython - liste 4

Metodo count¶

In [2]:
['a','b','c','b','c','c','d','c'].count('c')
Out[2]:
4
In [3]:
['a','b','c','b','c','c','d','c'].count('z')
Out[3]:
0

Metodo index¶

In [4]:
['a','b','c','b','c','c','d'].index('c')
Out[4]:
2
['a','b','c','b','c','c','d'].index('z')   # BOOM!
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/tmp/ipykernel_14079/4036039616.py in <module>
----> 1 ['a','b','c','b','c','c','d'].index('z')

ValueError: 'z' is not in list

Metodo find¶

... nelle liste non c'è!

C'è solo nelle stringhe:

In [5]:
"abbondanza".find('d')
Out[5]:
5
In [6]:
"abbondanza".find('q')   # non ha trovato q, RITORNA -1
Out[6]:
-1

Metodo remove¶

In [7]:
film = ['Titanic', 'Batman', 'Romeo + Giulietta', 'Transformers']
In [8]:
film.remove('Batman')

DOMANDA:

  1. ha RITORNATO qualcosa? Cosa?
  2. ha MODIFICATO qualcosa? Cosa?
In [9]:
film
Out[9]:
['Titanic', 'Romeo + Giulietta', 'Transformers']
film.remove('Il Padrino')
---------------------------------------------------------------------------
ValueError                                Traceback (most recent call last)
/tmp/ipykernel_14079/3006281473.py in <module>
----> 1 film.remove('Il Padrino')

ValueError: list.remove(x): x not in list

Domandati sempre: è proprio necessario risolvere il problema *togliendo?*

Metodo split¶

In [10]:
"E' giunto il momento di dividere il tesoro".split("il")
Out[10]:
["E' giunto ", ' momento di dividere ', ' tesoro']
In [11]:
s = "E' giunto il\nmomento di    dividere\til tesoro"
print(s)
E' giunto il
momento di    dividere	il tesoro
In [12]:
s.split()   
Out[12]:
["E'", 'giunto', 'il', 'momento', 'di', 'dividere', 'il', 'tesoro']

senza parametri trova tutti i blanks

In [13]:
# scrivi qui
Out[13]:
''