Information om denne video
Underviser: Simon Rotendahl Video: 17:01 Lektion nr. 10 af 27
Lister er ikke altid det meste praktiske
Vi har kigget på lister, og fantastiske som de er, så er der situationer, hvor en anden løsning er bedre, nemlig dictionaries. Dictionaries og lister er dog faktisk det samme. Hvis du har en liste så er det femte element i din liste associeret, med tallet 4 (da vi jo starter fra 0 når vi tæller elementernes plads) og sådan er det. En dictionary giver dig muligheden for selv at definere denne association, så hvis listen indeholde dine kollegers emails, så kan du associere stens email (som er et element i listen) med hans navn, som så bliver indexet, eller nølgen/key, som det hedder. Derfra også navnet dictionary, det kommer fra at du har et ord du vil slå op (nøgle/key) og du får så en beskrivelse (værdi/value) ud.
I næste video start vi på Objektorienteret programmering, et nyt paradigme!
Hej Simon
Hvordan bruger man “clear”?
Mvh.,
Karin
Hej Karin,
Det er jeg ked af at jeg ikke fik vist, jeg har lavet et eksempel her på linket under som du kan prøve :)
https://repl.it/repls/LumberingWearyPerimeter#main.py
Mvh.
Simon
Tusind tak for hjælpen
Det var så lidt :)
Mvh.
Simon
Hej Simon,
Her i Dict øvelsen får jeg et lidt andet output end du gør
print(mig.keys())
print(mig.values())
print(mig.items())
giver:
dict_keys([‘navn’, ‘alder’, ‘job’, ‘sprog’])
dict_values([‘Simon’, 22, ‘murer’, ‘Python’])
dict_items([(‘navn’, ‘Simon’), (‘alder’, 22), (‘job’, ‘murer’), (‘sprog’, ‘Python’)])
altså med betegnelse på strengen. Er det pga python version 3.8.1 eller ?
mvh
John
Hej John,
Det er et rigtig godt spørgsmål, og det er faktisk lige præcis noget med Python versionerne at gøre. I Python 2 giver alle de tre ting nemlig noget tilbage af typen liste (indikeret af kun []), hvor i Python 3 giver det et instans af en klasse tilbage, nemlig klasserne dict_keys, dict_values og dict_items. Det med klasser kommer til at give mening når du kommer til OOP videoerne, for nu, så tænk på det som typer, hvor at mig.keys() giver noget tilbage af typen list i Python 2, men i Python 3 giver den noget tilbage af type dict_keys. Du kan få det samme som jeg gjorde ved at lave det om til en liste, det gør du således:
print(list(mig.keys()))
Hvis du gerne vil se hvad type noget har, så skriver du type() rundt om, så du kan f.eks prøve de følgende to linjer, det hjælper måske på forståelsen, hvis du prøver det så husk at for nu skal du bare tænke på ordet class som type
print(type(mig.keys()))
print(type(list(mig.keys())))
Når jeg i videoerne bruger Linux og kun skriver python så bruger jeg Python 2, det er fordi det er standard på Linux, jeg bør skrive python3 (for at bruger Python 3), men det glemmer jeg nogle gange, da det er få gange det faktisk gør en forskel, dette er dog en af de gange. Du må undskylde forvirringen.
Mvh.
Simon