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

(Skillnad mellan versioner)
Hoppa till: navigering, sök
Nuvarande version (8 juli 2013 kl. 12.28) (redigera) (ogör)
 
Rad 26: Rad 26:
onsdag = veckodagar[2]
onsdag = veckodagar[2]
-
# Ifall vi vill komma åt de på index 1 till 3
+
# Ifall vi vill komma åt de på iett särskilt indexintervall
vardagar = veckodagar[0:5]
vardagar = veckodagar[0:5]
helgdagar = veckodagar[5:7]
helgdagar = veckodagar[5:7]
Rad 55: Rad 55:
<pre>veckodagar = ["mån", "tis", "ons", "tor", "fre", "lör", "sön"]
<pre>veckodagar = ["mån", "tis", "ons", "tor", "fre", "lör", "sön"]
-
"".join(veckodagar) # ger "måntisonstorfrelörsön"
+
# ger "måntisonstorfrelörsön"
 +
"".join(veckodagar)
-
", ".join(veckodagar) # ger "mån, tis, ons, tor, fre, lör, sön"</pre>
+
# ger "mån, tis, ons, tor, fre, lör, sön"
 +
", ".join(veckodagar) </pre>
Rad 65: Rad 67:
<pre>namnlista = ["Adam", "Bertil", "Ceasar"]
<pre>namnlista = ["Adam", "Bertil", "Ceasar"]
-
namnlista.append("David") # Listan utökas till ["Adam", "Bertil", "Ceasar", "David"]</pre>
+
# Listan utökas till ["Adam", "Bertil", "Ceasar", "David"]
 +
namnlista.append("David") </pre>
Man kan också slå samman två listor med hjälp av ett vanligt plus-tecken:
Man kan också slå samman två listor med hjälp av ett vanligt plus-tecken:
-
<pre>nummerlista = [1, 2, 3] + [4, 5] # Resultatet blir [1, 2, 3, 4, 5]</pre>
+
<pre># Resultatet blir [1, 2, 3, 4, 5]
 +
nummerlista = [1, 2, 3] + [4, 5] </pre>
Rad 77: Rad 81:
# Sortera från minst värde till högst
# Sortera från minst värde till högst
-
nummerlista.sort() # Ger [1, 3, 4, 5, 7, 10]
+
# Ger [1, 3, 4, 5, 7, 10]
 +
nummerlista.sort()
# Sortera från högst värde till minst
# Sortera från högst värde till minst
-
nummerlista.reverse() # Ger [10, 7, 5, 4, 3, 1]
+
# Ger [10, 7, 5, 4, 3, 1]
 +
nummerlista.reverse()
# Ifall du vill ha en sorterad kopia
# Ifall du vill ha en sorterad kopia
-
# nummerlista_kopia = sorted(nummerlista)
+
nummerlista_kopia = sorted(nummerlista)
</pre>
</pre>

Nuvarande version

       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)