Göm menyn

Seminarium 2 - Sammansatta datatyper (En sak i taget)

Vi lägger grunden för laboration 3 genom att titta på sammansatta datatyper (listor, strängar, tupler, dictionaries) som vi bearbetar iterativt och rekursivt.

Här visas ett urval av uppgifter som kan förekomma under seminariet. Syftet är att du ska få chansen att förbereda dig på några övningar eller gå tillbaka och repetera övningar i efterhand. Seminarieledarna kommer oftast att lägga in ytterligare uppgifter. Titta gärna på materialet för andra inriktningar om du vill ha fler övningar.

Förberedelser

Följande kapitel i studiematerial förberedde för laboration 2 och kommer tas upp mer under det här seminariet:

Följande kapitel i studiematerialet förbereder för laboration 3 och det här seminariet:

Uppgifter

Uppgift: Listoperationer

Givet är en lista x med tio element där varje element är ett heltal med samma värde som index. Skriv kod som med hjälp av indexering och de grundläggande operationerna ger följande:

  1. 0
  2. 10
  3. -1
  4. 81

Skriv kod som med slice och sum() ger följande(sum beräknar summan av alla element i en lista):

  1. 10
  2. 12
  3. 24
  4. 25

Genom att konkatenera två slices av den givna listan, skapa listor:

  1. Vars element summeras till 20
  2. Som har 19 element
  3. Som innehåller alla primtal mellan 0 och 10
  4. Som har minst 6 element och är ett palindrom

Uppgift: Range

Lös uppgift 5-10 i föregående uppgift med hjälp av range(), sum() och list().

Uppgift: Tupler och dictionaries

Vilket värde har variablerna efter att följande kod körts?

a = len((1, (2, 3)))
b = 4, 5
c, d = 6, 7
e = {"pi":3.14}["pi"]
f = len({1:1, 2:2, 3:3})
g = {1:1, 1:2, 3:3} == {3:3, 1:2}
h = {}
h["indexes"] = tuple(range(5))

Uppgift: Muterbarhet

Fungerar följande kodsnuttar och i så fall, vad skriver de ut?

1.

def add_one(a):
    a += 1
    print(a)

x = 5
add_one(x)
print(x)

2.

def append_one(seq):
    seq.append(1)
x = []
append_one(x)
print(x)

3.

def add_to_all(tuple, val):
    for i in range(len(tuple)):
        tuple[i] += 1

x = (0,1,2)
add_to_all(x, 1)

4.

dict = {0: 0}
print(dict)

5.

dict = {(0,0): 0}
print(dict)

6.

dict = {([0],0): 0}
print(dict)

Sidansvarig: Jonas Kvarnström
Senast uppdaterad: 2025-09-09