Lister og for løkker – 1

Video:

Innhold:

Iterering over elementer i listen:


list1 = [5, 2, 3, 3]

for elx in list1:
    print(elx)

# 5
# 2
# 3
# 3


 

iterere over indekser i listen:


list1 = [5, 2, 3, 3]

for ix in range(len(list1)):
    print(ix)
    print(list1[ix])
    print()

# 0
# 5
# 
# 1
# 2
#
# ....

 

Vi bruker iterering over elementer i følgende tilfeller:

  • For å finne element men ikke forandre.
  • print()
  • utregninger.

 

Vi bruker iterering over indekser i følgende tilfeller:

  • Ved behov for å endre element
  • Ved relativ adressering

 

Full kode til filmen


liste = ['tomat', 'agurk', 'gulrot', 'squash',\
         'aubergine', 'salat', 'paprika']




# iterere over elementer

for grønnsak in liste:
    print(grønnsak)
    """ Denne måten å iterere på er bra, hvis vi
    bare skal printe elementene eller bruke de til noe,
    og vi ikke trenger å endre på lista.
    Passende variabelnavn:
    item, element, eller noe som beskriver hva som
    er i lista. """



# iterere over indekser

for i in range(len(liste)):
    print("indeks: ", i)
    print("element: ", liste[i])

    """
    Passende variabelnavn:
    i, j, k, x, y
    index
    """



# For å endre på elementer i lista,
# itererer vi over indekser

for i in range(len(liste)):
    
    liste[i] = 0
    
    print(liste)
    print()

""" Dette fungerer ikke:
for grønnsak in liste:
    grønnsak = 0
    # Lista blir /ikke/ endret,
    # kun variabelen "grønnsak" blir endret.
"""


# Hvis vi trenger påfølgende eller etterfølgende
# elementer i lista, itererer vi over indekser

for i in range(0, len(liste), 2):
    if i == len(liste) - 1:
        print(liste[i])
        """Hvis i er indeks til siste element i lista,
        kan vi bare printe dette elementet.
        liste[i + 1] vil gi feilmeldingen IndexError."""
        
    else:
        print(liste[i], liste[i + 1])
    

Linker