Successfully reported this slideshow.
Your SlideShare is downloading. ×

HT22 - DA354A - Listor & lexikon

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Loading in …3
×

Check these out next

1 of 57 Ad

More Related Content

Similar to HT22 - DA354A - Listor & lexikon (18)

More from Anton Tibblin (20)

Advertisement

HT22 - DA354A - Listor & lexikon

  1. 1. Introduktion till programmering Listor och lexikon
  2. 2. 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
  3. 3. Frågor innan vi börjar?
  4. 4. Kursens uppbyggnad Modul 1 Modul 2 Modul 3 Modul 4 Modul 5 Modul Webb Variabler, utskrifter Funktioner, argument, parametrar, returvärden If-satser, for-loopar, while-loopar Listor, lexikon Filhantering, felhantering Webbtjänst
  5. 5. Modulerna hittills
  6. 6. Vad gör ett program egentligen? Input Output Beräkningar Konditional exekvering Repetition Från användare Till användare Beräkningar If-satser Iterationer Spara data när programmet körs?
  7. 7. Men vi har ju sparat data innan?
  8. 8. Ex. 1 – Min filmsamling
  9. 9. Om vi vill spara 10st filmer, hur gör vi då?
  10. 10. Om vi vill spara 50st filmer, hur gör vi då?
  11. 11. Om jag vill skriva ut mina 10st filmer, hur gör vi då?
  12. 12. Vad finns det för problem med detta?
  13. 13. Vad finns det för problem med detta? 1) Jag måste in i källkoden för att lägga till en ny film • Vi vill ju att användaren ska kunna lägga in under programmets körning 2) Jag måste in i källkoden för att skriva ut den nya filmen • Vi vill ju att filmen automatiskt ska skrivas ut när användaren lagt till den 3) Jag behöver individuellt för varje film skriva ”print()” • Vi vill ju skriva ut hela filmsamlingen, snarare än varje film individuellt 4) Den blir en variabel, en rad kod, per film • Vi vill ju automatisera processen så att alla filmen ligger i samma variabel 5) Hur hanterar vi 100st filmer?
  14. 14. Andra sätt att spara data? Än som värde: strängar / boolean / nummer
  15. 15. Listor!
  16. 16. Listor – Sekvens av data
  17. 17. 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.
  18. 18. Strängar, listor, (tupler) Olika typer av sekvenser
  19. 19. Strängar som sekvenser – med index
  20. 20. Metoder för strängar - test
  21. 21. Metoder för strängar - modifieringar
  22. 22. Exempel på strängar
  23. 23. Listor i Python • Hittills har vi bara sparat ett värde i varje variabel, t.ex. nr_1= 5 nr_2 = 3 nr_3 = 6 • Vi skulle istället kunna spara dessa som en lista: numbers = [5, 3, 6] • På detta sätt kan vi enkelt spara flera värden på samma plats
  24. 24. 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 metoder för att modifiera listor
  25. 25. 0 1 2 3 4 5 6 0 1 2 3 4 5 6
  26. 26. print(inköpslista[3])
  27. 27. Nja, en sekvens av tal…
  28. 28. Uppdelning (slicing) av listor Måndag Tisdag Onsdag Torsdag Fredag Lördag Söndag 0 1 2 3 4 5 6 -7 -6 -5 -4 -3 -2 -1
  29. 29. Lägga ihop listor (konkatenering)
  30. 30. In <sekvens> • Vi kan kontrollera om ett värde finns i en lista genom in
  31. 31. Funktioner för listor
  32. 32. Lägga till saker i en lista ( ( ) )
  33. 33. Att gå igenom listor med data Nu blir for-loopen väldigt händig!
  34. 34. En lista på böcker
  35. 35. 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:
  36. 36. Demo på lexikon
  37. 37. Listor är förändringsbara datatyper Vad innebär detta?

×