Lister er elementer atskilt med komma mellom hakeparenteser, for eksempel [1, 2, 3]
og ['Maria', 'Siri', 7]
. Vi bruker lister først og fremst til å lagre objekter underveis i programmet.
Du oppretter en tom liste ved å tilordne verdien []
til en variabel, for eksempel liste=[]
eller xverdier=[]
. Her er variabelnavnene «liste» og «xverdier».
Når vi skal legge til elementer i en liste, tar vi i bruk kommandoen «append». Vi bruker listevariabelen som forstavelse, atskilt med et punktum. I koden nedenfor oppretter vi en tom liste i linje 1. I de tre neste linjene legger vi inn tallene 5 og 2 pluss bokstaven «a». I linje 5 skriver vi lista til skjerm.
liste = []
liste.append(5)# legger tallet 5 inn i lista
liste.append(2)# legger tallet 2 inn i lista
liste.append('a')# legger bokstaven a inn i lista
print(liste)
liste.append
kan vi bruke liste.extend
, liste.sort
og liste.reverse
.Når vi kjører programmet, får vi dette resultatet:
[5, 2, 'a']
Vi kan la en for-løkke løpe gjennom listene. Nedenfor viser vi et program som skriver ut hvert element i en liste:
liste = ['a', 'b', 'c', 'd']
for bokstav in liste:
print(bokstav)
Resultatet blir
a b c d
Vi tar også med kontrollordet len
, som gir oss lengden på lista, altså hvor mange elementer den inneholder. Her ser du hvordan vi bruker len
:
liste=[6,2,5,3,5,6,6]# en liste med sju elementer
print(len(liste))
Resultatet her blir:
7
Det er fordi lista inneholder sju elementer.
Vi plukker ut elementer fra en liste ved hjelp av hakeparenteser. Kommandoen liste[0]
plukker ut første element, liste[1]
gir andre element, liste[2]
gir tredje element, osv. Kommandoen liste[-1]
gir det siste elementet.
Når vi skal plukke ut en lengre del av lista, bruker vi intervallnotasjon med kolon, for eksempel liste[2:4]
. Vi teller fra 0, så dette betyr tredje og fjerde element, men ikke det femte.
Vi viser noen eksempler på hvordan vi plukker ut elementer
fra en liste. Vi tar utgangspunkt i lista definert som liste = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
:
Kommando | Resultat | Forklaring |
---|---|---|
liste[0] |
'a' |
Første element er nr. 0 |
liste[0:3] |
['a', 'b', 'c'] |
Tar ikke med nr. 3 (fjerde) |
liste[:3] |
['a', 'b', 'c'] |
Tar med element på plass nr. 0, 1 og 2 |
liste[-1] |
'h' |
Siste element er nr. \(-1\) |
liste[3:6] |
['d', 'e', 'f'] |
Fra og med nr. 3 til nr. 6 |
liste[3:-1] |
['d', 'e', 'f', 'g'] |
Fra nr. 3, tar ikke med siste element |
liste[3:] |
['d', 'e', 'f', 'g', 'h'] |
Fra nr. 3, tar ikke med siste element |
Sett opp en liste som består av tallene \(0–9\). Skriv lista til skjerm.
Opprett en tom liste. Velg tre navn som du legger i lista. Skriv lista til skjerm.
Opprett en tom liste. Legg til noen bokstaver i lista. Skriv ut hvor mange bokstaver det er i lista.
Sett opp en liste med ti ulike elementer. Plukk ut det tredje, fjerde og femte elementet. Lagre elementene i hver sin variabel og skriv dem til skjerm.
Skriv et program som lager en tom liste, ber brukeren om et heltall og så lar en while-løkke legge til 1-tall i lista, helt til lengden av lista er lik tallet brukeren la inn.
Skriv et program som definerer funksjonen \(f(x)=x^2+3x-1\). Programmet skal be brukeren om en og en \(x\)-verdi og legge dem inn i en liste. Når brukeren avslutter, skal programmet regne ut de tilhørende funksjonsverdiene og legge dem inn i en egen liste. Til slutt skal de to listene skrives til skjerm.
Alle som skriver programmer, opplever ofte feil i programmene de skriver. Det er derfor nyttig å venne seg til å lese feilmeldinger. I feilmeldingen får du beskjed om hvilken linje feilen er på, en beskrivelse av feilen og hvilken feiltype det gjelder. Det gjør det lettere å finne igjen feilen i programmet og rette den opp. Med litt trening gir feilmeldingene god hjelp i programmeringsarbeidet.
De vanligste feilene er nevnt nedenfor.
input
med int
eller float
? Bruker du et desimaltall som argument i range
?Når du feilsøker, kan det være til god hjelp å se hvilken verdi variablene dine har underveis når programmet kjører. Det får du til ved å legge inn «print»-kommandoer på utvalgte steder. I noen programmeringsmiljøer kan du i tillegg få se en oversikt over variablenes verdi. Spyder har for eksempel vinduet «Variable Explorer».
Er du litt usikker på hva koden din egentlig gjør, kan du teste deler av den i konsollen.
Hvis du ikke finner feilen, kommer du ofte langt med å google «python» + feilmeldingen.
Du finner mye god dokumentasjon av Python på nettet. Et fint sted å starte å se etter hjelp er The Python Tutorial, https://docs.python.org/3/tutorial/. Hvis det gjelder plotting, kan du lese https://matplotlib.org, som er sidene til «matplotlib». Gjelder det NumPy, kan du gå til https://www.numpy.org/.
Kommentartegnet i Python er «#». All tekst etter dette tegnet fram til neste linjeskift blir ignorert. Vi kommenterer koden for at den skal bli lettere å lese for andre, og for at vi selv skal huske hva vi tenkte da vi skrev koden.
# Ber brukeren om et tall
n = int(input('Skriv inn et tall: '))
# Minste naturlige tall er 1
tall = 1
# Skriver ut forklaring
print(f'Alle naturlige tall mindre enn {n} er ', end=' ')
# Løkke som skriver ut tallene
while tall < n:
print(tall, end=' ') # Øker tall med 1
tall += 1