HT15, DA354A - Listor och lexikon
-
Upload
anton-tibblin -
Category
Education
-
view
486 -
download
2
Transcript of HT15, DA354A - Listor och lexikon
![Page 1: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/1.jpg)
Introduktion till programmeringListor och lexikon
![Page 2: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/2.jpg)
Dagens föreläsning• Vad består ett program av• … och hur lagrar vi data?• Listor• Lagring i sekvenser• … i form av strängar• … i form av värdesekvenser• Lexikon…• Lagring genom nyckel/värde-principen
![Page 3: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/3.jpg)
Frågor innan vi börjar?
![Page 4: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/4.jpg)
Vad gör ett program egentligen?
InputOutput
BeräkningarKonditional exekveringRepetition
Från användareTill användareBeräkningarIf-satserIterationer
Spara data när programmet körs?
![Page 5: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/5.jpg)
Sekvenser
![Page 6: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/6.jpg)
Sekvenser
![Page 7: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/7.jpg)
En sekvens är ett objekt som innehåller flera värden, som lagras en
efter den andra. Du kan utföra operationer på en sekvens, för att
undersöka och manipulera de värden som lagrats i sekvensen.
![Page 8: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/8.jpg)
Strängar, listor, (tupler)Olika typer av sekvenser
![Page 9: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/9.jpg)
Strängar som sekvenser – med index
![Page 10: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/10.jpg)
![Page 11: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/11.jpg)
![Page 12: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/12.jpg)
Metoder för strängar - test
![Page 13: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/13.jpg)
Metoder för strängar - modifieringar
![Page 14: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/14.jpg)
SträngformateringBonus!
![Page 15: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/15.jpg)
![Page 16: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/16.jpg)
För de nyfikna ”Gammal” syntax för strängformatering: http://www.diveintopython.net/native_data_types/formatting_strings.html
”Ny” syntax för strängformatering: https://docs.python.org/2/library/string.html#format-examples
![Page 17: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/17.jpg)
Exempel på strängar
![Page 18: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/18.jpg)
Listor i Python• Hittills har vi bara sparat ett värde i varje variabel, t.ex.
dice_1 = 5dice_2 = 3dice_3 = 6
• Vi skulle istället kunna spara dessa som en lista:dices = [5, 3, 6]
• På detta sätt kan vi enkelt spara flera värden på samma plats
![Page 19: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/19.jpg)
Listor…• En lista är en datatyp som kan innehålla flera värden• Listor är förändringsbara, vilket gör att vi kan modifiera dem under ett
programs körning• Tupler är inte detta• Listor är en dynamisk datastruktur, vilket gör att vi kan:• Lägga till värden• Modifiera värden• Ta bort värden• Man kan använda:• Indexering• ”slicing”• + mång fler metoder när man arbetar med listor
![Page 20: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/20.jpg)
![Page 21: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/21.jpg)
![Page 22: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/22.jpg)
Uppdelning (slicing) av listor
Måndag Tisdag Onsdag Torsdag Fredag Lördag Söndag0 1 2 3 4 5 6-7 -6 -5 -4 -3 -2 -1
![Page 23: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/23.jpg)
![Page 24: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/24.jpg)
Lägga ihop listor (konkatenering)
![Page 25: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/25.jpg)
In <sekvens>• Vi kan kontrollera om ett värde finns i en lista genom in
![Page 26: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/26.jpg)
Funktioner för listor
![Page 27: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/27.jpg)
Lägga till saker i en lista
![Page 28: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/28.jpg)
Skriva ut saker från listor• Nu blir for-loopen väldigt händig! =)
![Page 29: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/29.jpg)
![Page 30: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/30.jpg)
![Page 31: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/31.jpg)
En lista på böcker
![Page 32: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/32.jpg)
Lexikon• Vi använder lexikon för att strukturer upp våra värden genom
nycklar• Ett tydligt exempel på detta är en klassisk kontaktlista:
![Page 33: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/33.jpg)
Demo på lexikon
![Page 34: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/34.jpg)
VG?På kommande inlämningsuppgifter
![Page 35: HT15, DA354A - Listor och lexikon](https://reader033.fdocument.pub/reader033/viewer/2022042907/58cf8ddb1a28ab65538b486d/html5/thumbnails/35.jpg)
… på fredag…