Programmering nivå 2

Kap 2.4 – Dictionaries och tuples

Välj rätt datastruktur när värden behöver namn, ordning eller skydd mot ändring.

Mål med lektionen

När du har arbetat klart med denna lektion ska du:

  • Förstå vad en dictionary och en tuple är.
  • Kunna skapa och använda dictionaries för att lagra nyckel-värde-par.
  • Förstå tuples som fasta, ordnade samlingar av data.
  • Veta när du bör använda dessa strukturer i stället för listor.

Så här lär du dig bäst

Testa varje struktur med olika datatyper och i kombination med loopar och funktioner. Jämför hur det känns att använda listor, dictionaries och tuples i olika situationer. Reflektera över varför vissa datastrukturer är mer lämpliga än andra beroende på sammanhang.

Vad är en dictionary?

En dictionary i Python är en samling av nyckel-värde-par, där varje nyckel är unik. Den används när du vill koppla ett värde till ett specifikt namn eller en identitet.

person = {
    "name": "Alice",
    "age": 25,
    "city": "Stockholm"
}

Åtkomst

print(person["name"])  # Alice

Ändra eller lägga till

person["age"] = 26
person["email"] = "alice@example.com"

Ta bort

del person["city"]

Loopa genom en dictionary

for key, value in person.items():
    print(f"{key}: {value}")

Vad är en tuple?

En tuple är en ordnad, oföränderlig samling. Den används när du inte vill att värden ska kunna ändras.

coordinates = (10, 20)
print(coordinates[0])  # 10

Tuples används ofta för att returnera flera värden från en funktion:

def get_user():
    return ("Alice", 25)

name, age = get_user()

Skillnad mot listor

  • Listor: ändringsbara, alltså mutable.
  • Tuples: fasta, alltså immutable.

Jämförelse: när används vad?

Struktur Egenskaper Använd när du vill...
List Ordnad, ändringsbar Lagra flera värden i en ordning
Dictionary Nyckel-värde-par Knyta namn eller etikett till varje värde
Tuple Ordnad, oföränderlig Lagra en fast uppsättning värden

Öva själv

  1. Skapa en dictionary för en bok med nycklarna title, author och year.
  2. Skriv en funktion som returnerar en tuple med ett namn och en ålder.
  3. Skapa en meny som låter användaren lägga till poster i en dictionary, till exempel användarnamn och poäng.
  4. Skriv ut alla nycklar och värden i en dictionary med hjälp av en for-loop.

Reflektion

  • När känns det bäst att använda en dictionary istället för en lista?
  • Hur påverkar det programlogiken att en tuple inte kan ändras?
  • Vilken struktur tycker du är mest användbar i ett menybaserat program?

Tillbaka till Kapitel 2