3. Mer om listor
Programmeringsteknik
Teori | Mer om listor | Övningar |
Innehåll:
- Olika sätt att komma åt värden i en lista
- Skriva ut listor
- Append
- Sortering
Om du vill lära dig ännu mer om listor så finns det en länk på kursens huvudsida under rubriken Pythonlänkar.
Olika sätt att komma åt värden i en lista
veckodagar = ["mån", "tis", "ons", "tor", "fre", "lör", "sön"] # Ifall vi vet index på det värde vi vill komma åt onsdag = veckodagar[2] # Ifall vi vill komma åt de på iett särskilt indexintervall vardagar = veckodagar[0:5] helgdagar = veckodagar[5:7] # Ifall vi vill komma åt allt förutom de två första värdena veckodagar[2:] # Ifall vi enbart vill komma åt de två första värdena veckodagar[:2]) # Ifall vi vill skriva ut varannat värde udda_dagar = veckodagar[::2]) jämna_dagar = veckodagar[1::2]) # Ifall vi inte vet hur många värden som finns och vill komma åt det sista värdet print(namnlista[len(namnlista)-1])
Skriva ut listor
nummerlista = [1,2,3,4,5] for nummer in nummerlista: print(nummer)
Om en lista består av strängar så kan man istället använda sig av join
. Den funkar så här:
<sträng>.join([lista])
. <sträng>
är den separator som ska skilja elementen i listan åt, det kan vara t.ex. radbrytning: "\n", mellanrum: " " eller punkter: ".."
veckodagar = ["mån", "tis", "ons", "tor", "fre", "lör", "sön"] # ger "måntisonstorfrelörsön" "".join(veckodagar) # ger "mån, tis, ons, tor, fre, lör, sön" ", ".join(veckodagar)
Append
Man kan lägga till ett nytt element i slutet av en lista med hjälp av append()
:
namnlista = ["Adam", "Bertil", "Ceasar"] # Listan utökas till ["Adam", "Bertil", "Ceasar", "David"] namnlista.append("David")
Man kan också slå samman två listor med hjälp av ett vanligt plus-tecken:
# Resultatet blir [1, 2, 3, 4, 5] nummerlista = [1, 2, 3] + [4, 5]
Sortering
nummerlista = [3, 7, 4, 1, 5, 10] # Sortera från minst värde till högst # Ger [1, 3, 4, 5, 7, 10] nummerlista.sort() # Sortera från högst värde till minst # Ger [10, 7, 5, 4, 3, 1] nummerlista.reverse() # Ifall du vill ha en sorterad kopia nummerlista_kopia = sorted(nummerlista)