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’.

Exempel: Index i Python

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]

Vad är en lista i Python?

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.

Hur lägger man till ett element i en lista?

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.

Hur söker man efter ett element i en 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.

To top