26. Llista dels índexs

Per obtenir i gestionar les dades d’una llista, podeu utilitzar índexs i rodanxes tal i com s’utilitzaven amb les cadenes de text

>>> lista = ['a', 'b', 'c', 'd', 'e']
>>> lista[0]
    'a'
>>> lista[3]
    'd'
>>> lista[-1]
    'e'

Aquest esquema pot ajudar a comprendre la posició dels índexs

[ 'a', 'b', 'c', 'd', 'e' ]
 ^    ^    ^    ^    ^   ^
 0    1    2    3    4   5
-5   -4   -3   -2   -1

Els índexs dels claudàtors quadrats retornen l’element que es troba en aquesta posició a la llista, a partir de la primera posició a l’índex zero.

Rodanons

D'altra banda, les llesques retornen una altra llista composta pels elements que es troben entre dos índexs

>>> lista[0:1]
    ['a']

>>> lista[1:-1]
    ['b', 'c', 'd']

>>> lista[10:20]   # Índices fuera de rango devuelven una lista vacía
    []

>>> lista[:3]
    ['a', 'b', 'c']

>>> lista[3:]
    ['d', 'e']

Modificació dels elements

A diferència de les cadenes de text, a les llistes si poden modificar els seus elements canviant -los per un altre valor

>>> lista = ['a', 'b', 'c', 'd', 'e']

>>> # Cambia el primer elemento de la lista
>>> lista[0] = 'A'
>>> lista
    ['A', 'b', 'c', 'd', 'e']

>>> # Cambia los elementos 3º y 4º de la lista por otra lista
>>> lista[2:4] = ['=', 'X']
    ['A', 'b', '=', 'X', 'e']

Judici `` de ''

El judici `` de '' (paraula que prové de DeLete) elimina un element de la llista que es troba en una posició determinada

>>> lista = [1, 2, 3, 4, 5, 6]
>>> del lista[0]
>>> lista
    [2, 3, 4, 5, 6]

>>> del lista[2]
>>> lista
    [2, 3, 5, 6]

També podeu utilitzar llesques amb el judici "de"

>>> lista = [1, 2, 3, 4, 5, 6]
>>> del lista[1:3]
>>> lista
    [1, 4, 5, 6]

Exercicis

  1. Escriviu un programa que defineixi una llista amb els primers 10 números primers. Aleshores heu d’imprimir el primer cosí, el tercer i el setè.

  2. Modifiqueu el programa anterior per imprimir la suma dels primers 4 números primers. Heu de programar un bucle que compti de 0 a 3 i utilitzar aquests números com a índexs per recuperar els números principals de la llista.

  3. Escriviu un programa que defineixi una llista amb tres noms. El programa ha d’imprimir la llista, modificar el segon nom i imprimir la llista modificada.

  4. Escriviu un programa que defineixi una llista amb les 6 primeres lletres de l’alfabet en majúscules.

    Imprimeix un sublista de "B" a la "D".

    Imprimiu un sublista des de "C" fins al final.

  5. Modifica el programa anterior per eliminar les posicions uniformes de la llista i, a continuació, imprimir la llista resultant

    ['A', 'C', 'E']
    

    Tingueu en compte que a mesura que s’esborren elements de la llista, els elements posteriors canvien la posició.

  6. Escriviu un programa que defineixi una llista amb les 6 primeres lletres de l’alfabet en majúscules. A continuació, es mostra un `` `` `` ha de canviar cadascuna de les lletres pel seu valor més baix gràcies al `` `` `` ``.

    El bucle FOR ha de mesurar la longitud de la llista amb la funció len ().

    Pista

    lista = ['A', ... ]
    for i in range( ... ):
        lista[i] = ...
    print(lista)