Processing Math: Done
To print higher-resolution math symbols, click the
Hi-Res Fonts for Printing button on the jsMath control panel.

No jsMath TeX fonts found -- using image fonts instead.
These may be slow and might not print well.
Use the jsMath control panel to get additional information.
jsMath Control PanelHide this Message


jsMath

3. Mer om listor

Programmeringsteknik

Version från den 5 april 2012 kl. 14.45; Msvedi (Diskussion | bidrag)
Hoppa till: navigering, sök
       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å index 1 till 3
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"]

"".join(veckodagar)   # ger "måntisonstorfrelörsön"

", ".join(veckodagar) # ger "mån, tis, ons, tor, fre, lör, sön"


Append

Man kan lägga till ett nytt element i slutet av en lista med hjälp av append():

namnlista = ["Adam", "Bertil", "Ceasar"]
namnlista.append("David")    # Listan utökas till ["Adam", "Bertil", "Ceasar", "David"]

Man kan också slå samman två listor med hjälp av ett vanligt plus-tecken:

nummerlista = [1, 2, 3] + [4, 5]    # Resultatet blir [1, 2, 3, 4, 5]


Sortering

nummerlista = [3, 7, 4, 1, 5, 10]

# Sortera från minst värde till högst
nummerlista.sort()   # Ger [1, 3, 4, 5, 7, 10]

# Sortera från högst värde till minst
nummerlista.reverse()    # Ger [10, 7, 5, 4, 3, 1]

# Ifall du vill ha en sorterad kopia
# nummerlista_kopia = sorted(nummerlista)