Allt du behöver veta om listor i Python
Nyckelord: Listor, Array

En lista, även kallad array är en samling av element. Istället för att bara spara ett värde i en variabel, kan vi med listor spara flera värden på samma gång. Elementen kan sedan plockas ut och användas med hjälp av index.
Vad är en lista (array) i Python?
En lista (eller array) är en samling av värden i en bestämd ordning. Normalt när vi har tilldelat ett värde till en variabel har vi exempelvis gjort på följande sätt:
a = 3
Men med arrayer kan vi tilldela flera värden till samma variabel!
my_list = [5, 2, 8, 9, 3]
my_list innehåller alltså nu 5 stycken värden.
Istället för att bara spara ett värde i en variabel, kan vi med listor spara flera värden på samma gång.
Du kan skriva ut hela listan på en gång:
print(my_list)
[5, 2, 8, 9, 3]
Eller bara ett värde från listan. Listor är sorterade med index 0, i stigande ordning:
print(my_list[0])
ger utskriften 5
print(my_list[1])
ger utskriften 2 och så vidare.
Skapa lista/array i Python
En array skapar du med följande syntax
listnamn = [värde1, värde2, värde3, osv]
Först ger man listan ett namn, sedan tilldelar man alla värden inom en hakparantes [ ], där varje värde är separerade med ett kommatecken ",".
Elementen i listor är i en bestämd ordning
Ordningen som värdena tilldelas i spelar roll i listor. Exempelvis har listorna
my_list = [5, 2, 8, 9, 3] my_list2 = [2, 5, 9, 8, 3]
exakt samma värden. Men eftersom värdena inte är i samma ordning, kommer beteendet att vara annorlunda.
print(my_list[0]) print(my_list2[0])
ger utskriften
5
2
Indexering av listor i Python
Indexering gör det möjligt att komma åt, modifiera och manipulera specifika element inom en lista. Låt oss utforska detta koncept mer detaljerat.
Vad är ett index?
Ett index i en Python-lista är ett heltal som representerar positionen för ett element i listan. Det intressanta och viktiga att notera är att Python använder nollbaserad indexering. Det innebär att det första elementet i listan har index 0, det andra elementet har index 1, och så vidare.
Exempel på indexering
Låt oss ta en enkel lista för att illustrera detta:
fruits = ['banan', 'melon', 'kiwi', 'citron']
I fruits är:
- ‘banan’ på index 0
- ‘melon’ på index 1
- ‘kiwi’ på index 2
- ‘citron’ på index 3
Åtkomst till element med index
För att komma åt ett element i listan använder du indexet inom hakparenteser. Till exempel, fruits[1] returnerar ‘melon’.
Negativ indexering
Python stöder även negativ indexering. Detta innebär att du kan börja räkna från slutet av listan istället för början. Så, -1 refererar till det sista elementet, -2 till näst sista elementet, och så vidare.
Exempel:
fruits[-1]ger ‘citron’fruits[-2]ger ‘kiwi’
Modifiera element med index
Du kan också använda index för att ändra element i listan. Till exempel, fruits[1] = 'blåbär' skulle ändra det andra elementet från ‘melon’ till ‘blåbär’.
Index utanför Intervallet
Var försiktig så att du inte försöker hämta ett element som är “utanför” listan. Då kommer du få ett så kallat IndexError. Detta är ett vanligt fel som uppstår när man arbetar med listor.
Exempelvis skulle
fruits[100]
returnera IndexError eftersom det inte finns något värde på plats 100 i listan.
Listor och datatyper
Värdena i listor behöver inte vara av samma datatyp. Du kan blanda olika datatyper i samma lista. Exempelvis kan du ha såväl int, strings och listor i samma lista!
my_list = [2, "Python", "Python", 23, [3, 5, 10]] print(my_list)
ger utskriften:
[2, 'Python', 'Python', 23, [3, 5, 10]]
Egenskaper hos arrayer
Arrayer i Python har flera inbyggda egenskaper vilket gör det väldigt smidigt att arbeta med. Nedan beskrivs några av de vanligaste egenskaper hos arrayer. Antag att vi har samma lista i följande exempel
my_list = [5, 2, 8, 9, 3]
Slicing: Skriv ut flera variabler inom ett interval
Man kan skriva ut flera variabler inom ett interval:
print(my_list[2:4])
ger utskriften
[8, 9]
observera att index 4, inte skrivs ut. Detta kallas i Python för slicing.
Storleken på listor
Storleken på en lista anropas med len()
len(my_list)
Returnerar 5, eftersom listan innehåller 5 element.
Ändra värde på ett element
Du kan ändra värdet på ett element
my_list[1] = 10 print(my_list)
kommer ändra det andra värdet i listan från 2 till 10.
[5, 10, 8, 9, 3]
Lägg till nya värden i listan
Man kan lägga till nya värden i listan med append()
my_list.append(13) print(my_list)
[5, 2, 8, 9, 3, 13]
En lista i Python är en ordnad samling av objekt, som kan vara av olika datatyper. Listor är mutabla, vilket innebär att deras innehåll kan ändras efter att de har skapats. De definieras med element inom hakparenteser [], separerade med kommatecken.
Du kan lägga till ett element i en lista med append()-metoden. Till exempel, min_lista.append('kiwi') lägger till ‘kiwi’ i slutet av min_lista.
Använd in-operatorn för att kontrollera om ett element finns i listan. Till exempel, if 'äpple' in min_lista: kontrollerar om ‘äpple’ finns i min_lista.