Jämföra värden i Python

När man programmerar vill man ofta jämföra två variabler. Det kan exempelvis vara jämförelseoperationer som avgör om ett tal är större eller mindre ett annat tal. När man jämför två variabler får man alltid tillbaka värdet True, eller False, det vill säga, du får tillbaka om operationen är sann eller falsk.

Vi kan exempelvis enkelt jämföra två variabler med jämförelseoperatorn > enligt:

a = 10
b = 5
print(a > b)
True

I detta fall blir utskriften True, eftersom det är sant att variabeln a har ett högre värde än variabeln b.

På samma sätt får vi i detta fall:

a = 10
b = 5
print(b > a)
False

Utskriften blir False eftersom det är falskt påstående.

Vanligtvis utför man jämförelseoperationer i if-satser där man vill att någonting ska utföras beroende på huruvida ett uttryck är sant eller falskt. På så sätt kan vi skapa villkorsstyrd programmering, så att vissa operationer enbart utförs om vissa krav är uppfyllda. Exempelvis vill vi bara ta emot biljetten för karusellen OM gästen är längre än 160cm.

Vanliga sätt att jämföra variabler

Nedan visas de vanligaste sätten att jämföra två variabler:

Jämförelse Notation Om A = 5 & B = 10 Resultat
Mindre än < A < B True
Större än > B > A True
Mindre än eller lika med <= A <= B True
Större än eller lika med >= B >= A True
Lika med == A == B False
Inte lika med != A != B True

Vi får alltså tillbaka True eller False beroende på om påståendet är sant eller falskt.

Identitetsoperatorer

Python erbjuder två identitetsoperatorer, is och is not, som används för att jämföra minnesadresserna hos två objekt. Detta är särskilt användbart när du vill avgöra om två variabler pekar på samma objekt i minnet.

a = [1, 2, 3]
b = a
c = [1, 2, 3]

print(a is b)   
print(a is c)       
True
False

Vår första evaluering kommer att ge oss Trueb och a pekar på samma lista. Vår andra evaluering kommer dock att ge False då vi har skapat en ny lista. Det spelar således ingen roll om innehållet är detsamma, listorna har lagrats på olika platser i minnet och representerar därför två olika listor. Om detta inte var fallet så skulle vi snabbt stöta på problem eftersom borttagandet av ett element i en lista skulle leda till att vi nu pekar på en helt annan lista eller dylikt.

Medlemskapsoperatorer

Medlemskapsoperatorer in och not in används för att testa om en sekvens innehåller (eller inte innehåller) ett angivet objekt. Detta kan användas för att enkelt testa medlemskap i listor, strängar, tupler och andra itererbara objekt.

lista = [1, 2, 3, 4, 5]
element = 3

print(element in lista) 
print(10 not in lista)  
True
True

Båda utskrifter resulterar i True då det stämmer att 3 förekommer i listan samt att 10 inte förekommer i listan. Dessa operatorer är mycket värdefulla i de fall vi exempelvis vill söka efter specifika värden eller säkerställa att specifika värden inte förekommer i en sekvens.

Sammanfattning

I detta avsnitt har vi utforskat olika sätt att jämföra värden i Python, från grundläggande jämförelseoperatorer till identitets- och medlemskapsoperatorer. Genom att använda dessa operatorer kan vi skapa villkor och logik för att styra flödet i våra program baserat på jämförelser av variabler och deras relationer till andra objekt.

Att förstå dessa jämförelsemetoder är avgörande för att skriva effektiv och korrekt Python-kod. Det möjliggör skapandet av mer dynamiska och interaktiva program som kan reagera olika beroende på de data och villkor de ställs inför.