Come cercare elementi nella lista python

Nel linguaggio python per trovare la posizione di un elemento in una lista utilizzo il metodo index.

nomelista.index(elemento)

Come parametro inserisco l'elemento che voglio trovare nella lista. Può trattarsi di una stringa o di un valore numerico.

Come funziona il metodo index

Il metodo index restituisce la posizione dell'elemento.

  • Se ci sono più occorrenze, il metodo index restituisce soltanto la prima a partire da sinistra.
  • Se non ci sono occorrenze, il metodo index restituisce un messaggio di errore da gestire come eccezione.

    Un esempio pratico

    In un programma ho la seguente lista

    anno = [ 2010, 2011, 2012, 2013, 2014 ]

    Per trovare la posizione del valore 2013

    print(anno.index(2013))

    L'istruzione visualizza sullo schermo la posizione dell'elemento nell'indice della lista

    3

    La posizione è la terza ( non la quarta ) perché l'indice della lista parte da zero, non da uno.

    Quindi, il primo elemento è la posizione zero, il secondo la posizione uno, il terzo la posizione due e il quarto (2013) la posizione tre. E così via.

    Un altro esempio di ricerca in una lista

    Allo stesso modo posso cercare una stringa alfanumerica in una lista

    Nella seguente lista ci sono alcuni nomi di città.

    comuni = [ 'Roma', 'Napoli', 'Milano', 'Firenze' ]

    Per trovare la posizione della stringa 'Milano' scrivo

    print(comuni.index('Milano'))

    L'istruzione visualizza la posizione dell'elemento nella stringa.

    2

    E se l'elemento non esiste nella lista?

    Quando provo a cercare un elemento inesistente.

    print(comuni.index('Bologna'))

    L'istruzione restituisce un messaggio di errore:

    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    ValueError: 'Bologna' is not in list

    Pertanto, quando si cerca qualcosa in una lista con il metodo index in python, è necessario programmare anche delle eccezioni per gestire i possibili errori della ricerca.

    try:
    print(comuni.index('Bologna'))
    except:
    print("elemento non trovato")

    Quando cerco l'elemento inesistente, scatta l'eccezione e sullo schermo viene visualizzato il messaggio

    elemento non trovato

    In questo modo intercetto ed evito la visualizzazione dei messaggi di errore nel programma durante la ricerca.

     


     

    Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

    FacebookTwitterLinkedinLinkedin
    knowledge base

    Le liste su Python

    1. Cos'è una lista
    2. Come estrarre elementi
    3. Come eliminare elementi
    4. Come aggiungere elementi
    5. Come contare le occorrenze in una lista
    6. Come cercare un elemento nella lista
    7. Come ordinare una lista
    8. Come invertire le posizioni della lista
    9. Come usare la list comprehension
    10. Come fare una lista nidificata
    11. Come convertire una tupla in lista