Föreläsning 4 Listor, tupler, och for-loopar. Listor En lista är en föränderlig ordnad samling objekt. Listor skapas med hakparenteser. lista = [12,13,14,15]

Slides:



Advertisements
Liknande presentationer
Atomer, molekyler och kemiska reaktioner
Advertisements

Learning Study / Stöd för genomförande och dokumentation
© Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Datastrukturer och algoritmer Föreläsning
1 Listor En sekvens värden av samma typ Nr 5. 2 Listor Sekvens av värden, element Variabelt antal Alla med samma typ Bara första elementet direkt åtkomligt.
1 Logikprogrammering ons 11/9 David Hjelm. 2 Repetition Listor är sammansatta termer. De består av en ordnad mängd element. Elementen i en lista kan vara.
2D1311 Programmeringsteknik med PBL
Sökning och sortering Linda Mannila
Programmeringsteknik
Repetition inför provet
2D1311 Programmeringsteknik med PBL Föreläsning 7 Skolan för Datavetenskap och kommunikation.
Logikprogrammering Ons, 25/9
2D1311 Programmeringsteknik med PBL Föreläsning 3 Skolan för Datavetenskap och kommunikation.
Stora + Störst tal först. Stora additionstabellen Tanketips!
Programmeringsteknik Föreläsning 4 Skolan för Datavetenskap och kommunikation.
2D1311 Programmeringsteknik med PBL
Datastrukturer och algoritmer Föreläsning 11. Datastrukturer och algoritmer VT08 Innehåll  Mängd  Lexikon  Heap  Kapitel , , 14.4.
Några standardalgoritmer
Predicting protein folding pathways.  Mohammed J. Zaki, Vinay Nadimpally, Deb Bardhan and Chris Bystroff  Artikel i Bioinformatics 2004.
Föreläsning 6 Länkade lista Komplexitet Linjärsökning & binärsökning
Föreläsning 4 Python: mera om funktioner och parametrar
2D1311 Programmeringsteknik med PBL Föreläsning 7 Skolan för Datavetenskap och kommunikation.
Föreläsning 13 Allt om tentan. Sistaminutenhjälp: På fredag 17 december kl 12 sitter Linda i kemi-fiket och svarar på frågor.
Växjö 21 april -04Språk & logik: Kontextfria grammatiker1 DAB760: Språk och logik 21/4: Kontextfria 10-12grammatiker Leif Grönqvist
1 Föreläsning 3 Datalogi för E1 / 2D1343 Repetition List List operationer Stränghantering For-slingor.
Föreläsning 2 Datalogi för E1 2D1343
Föreläsning 5 Python: argument från kommando-tolken
Föreläsning 10 Länkade lista Stack och Kö Att arbeta med listor
Föreläsning 4 Python: Definiering av egna funktioner Parametrar
Stora additionstabellen
Växjö 15 april -04Språk & logik: Reguljära uttryck1 DAB760: Språk och logik 15/4: Finita automater och 13-15reguljära uttryck Leif Grönqvist
Föreläsning 4, Kapitel 4 Gruppera objekt Kursbok: “Objects First with Java - A Practical Introduction using BlueJ”, David J. Barnes & Michael Kölling.
Programmering B PHP Lektion 2
Föreläsning 5.  Idag  Kap 7 i Dawson  Filer  Felhantering med try…except.
1 ITK:P1 Föreläsning 5 Iteration, slumpning och arrayer DSV Peter Mozelius.
Sid 1 CD5250 OOP med C++ Daniel Flemström MDH/IDT CD5250 OOP med C++
Logikprogrammering och Prolog
Programmering B PHP Lektion 3
Föreläsning 2 Kort Översikt Över Javaspråket. Källkodsformat Unicode används åäöμψζ tillåtna Inte alla miljöer klarar av det Källkod Bytekod Java VM för.
Vektorer (klassen Vector) Sortering
Bild 1 Hur använder vi KursInfo idag? Högskolan i Skövde.
Föreläsning 3 Programmeringsteknik och Matlab DD1312
Listor En lista är en föränderlig ordnad samling objekt.
Programspråk Två olika typer av program omvandlar högnivå till lågnivå program: Interpreterande program och kompilerande program. Python är ett interpreterande.
Funktioner, styrstrukturer, manipulering av matriser
1 Föreläsning 3 programmeringsteknik och Matlab 2D1312/ 2D1305 Matlab fortsättning Funkioner, styrstrukturer, manipulering av matriser.
Grundläggande programmering
OOP F3:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 3 Iteration Många variabler av samma sort – Arrayer.
DD1311 P ROGRAMMERINGSTEKNIK MED PBL Föreläsning 9 Skolan för Datavetenskap och kommunikation.
1 Föreläsning 6 Programmeringsteknik och Matlab 2D1312/2D1305 Metoder & parametrar Array API och klassen ArrayList.
1 Föreläsning 5 Programmeringsteknik och Matlab 2D1312/2D1305 Repetition Metoder Array API och klassen ArrayList.
Föreläsning 1 Reserverade ord Javas API Identifierare Litteraler Variabler Kompilering och interpretering.
1 Programmera med strängar nr 9 Tal till sträng Sträng till tal Grep Sträng till lista av ord.
F4 - Funktioner & parametrar 1 Programmeringsteknik, 4p vt-00 Modularisering ”svarta lådor” Väl definierade arbetsuppgifter Enklare validering Enklare.
Stora subtraktionstabellen
William Sandqvist C-programmering ID120V Stack och Kö William Sandqvist
1 ITK:P2 F6 Sortering av generiska containerklasser DSV Peter Mozelius.
Programmeringsteknik Föreläsning 8 Skolan för Datavetenskap och kommunikation.
Länkade listor Binära träd
F5 - Fält & strängar 1 Programmeringsteknik, 4p vt-00 Fält Många element av samma typ Typexempel : lista av heltal Gemensamt namn Individuella värden nås.
2D1311 Programmeringsteknik med PBL
OOP F13:1 Marie Olsson OOP Objekt-orienterad programmering Föreläsning 13 Repetition variabler, selektion och iteration.
OOP F2:1 Stefan Möller OOP Objekt-orienterad programmering Föreläsning 2 Deklaration och tilldelning Programsatser Tilldelning Input/Output Selektion.
Programmeringsteknik
© Anders Broberg, Lena Kallin Westin, 2007 Datastrukturer och algoritmer Föreläsning 14.
Föreläsning 7 Repetition Sammansatta datatyper –vektor (hakvektor, array) –matris.
OOP&M - teori1 OOP&M – Föreläsning 5 kap 8-13 Operatorer,typkonvertering, booleska operatorer, if och else.
OOP&M - teori1 OOP – Föreläsning 7 (Sista oop I) Konstruktioner för att hantera upprepningar Kapitel 11.
Att räkna med bokstäver
Föreläsning 3 Programmeringsteknik
Föreläsning 8: Exempel och problemlösning
Presentationens avskrift:

Föreläsning 4 Listor, tupler, och for-loopar

Listor En lista är en föränderlig ordnad samling objekt. Listor skapas med hakparenteser. lista = [12,13,14,15]

Innehåll i listor och tupler En lista eller tupel kan innehålla blandade sorters objekt (även andra listor/tupler.) [”hej”,[”a”,”b”],14,(34,”hus”)] Godtyckligt komplicerade strukturer kan skapas! TÄNK IGENOM DETTA!

Listor från andra listor Listor kan konkateneras: >l = [1,2,3] + [4,5,6] >l [1,2,3,4,5,6] Listor kan upprepas: >l = [1,2,3] >l * 3 [1,2,3,1,2,3,1,2,3]

Identifiera element i en lista Ett enskilt element på ett givet index kan identifieras: >lista = [12,13,14,15] >lista[1] 13

Identifiera dellista Ett startindex och ett övre begränsningsindex ger dellistan. >lista = [12,13,14,15,16] >lista[2:4] [14,15]

Identifiera dellista state=”urbra” del1=state[0:2] del2=state[2:] del3=state[:3] urbra del1 del2 del3

Ändra element och dellistor Identifierade element/dellistor kan ändras: >l = [1,2,3,4,5,6] >l[1,3] = [”a”] >l[4] = ”b” >l [1,”a”,4,5,”b”]

Ta bort element eller dellistor Element/dellista kan tas bort: >l = [1,2,3,4,5,6] >del l[1,3] >del l[3] >l [1,4,5]

Förändringsoperationer på listor Omvänd ordning på elementen lista.reverse() Sortera elementen >l = [2,3,1,4,5,7,6] >l.sort() >l [1,2,3,4,5,6,7]

Förändringsoperationer på listor Lägg till element på slutet lista.append(13) Lägg till lista på slutet lista.extend([1,2,3])

Tupler En tupel är en oföränderlig ordnad samling objekt. En tupel skapas med vanliga parenteser: l = (1,2,3,4)

Tupler från tupler Tupler kan konkateneras: >l = (1,2,3) + (4,5,6) >l (1,2,3,4,5,6) Tupler kan upprepas: >l = (1,2,3) >l * 3 (1,2,3,1,2,3,1,2,3)

Identifiera element i en tupel Ett enskilt element på ett givet index kan identifieras: >tupel = (12,13,14,15) >tupel[1] 13

Identifiera deltupel Ett startindex och ett övre begränsningsindex ger deltupeln. >tupel = (12,13,14,15,16) >tupel[2:4] (14,15)

Tupler är oföränderliga Element/deltupler i en tupel kan inte ändras. Inga förändringsoperationer. Strängar är en sorts tupler, där elementen är bokstäver. Det mesta (allt?) man kan göra med tupler kan man göra med strängar.

Strängar En sträng är en oföränderlig tupel där alla elementen är ”bokstäver”. nose=”En lång näsa” Index: Värde: Enlångnäsa

len() Antalet element i listor och tupler: len([1,2,5]) 3 in testar medlemskap i lista eller tupel: > 3 in [1,2,3] True

for -loop Används för att gå igenom alla element i en lista, tupel, eller sträng. lista = [12,13,14,15,16] for x in lista: print x Ger:

for -loop Mer allmänt: for en variabel in en lista : else: Block som exekveras för varje element. Block som exekveras om inte loopen avbryts med break.

Skapa heltalsintervallslista Ofta vill man göra något för varje heltal i ett intervall. Funktionen range() är praktisk: for x in range(5): print x Ger:

Mer heltalslistor Kan användas på följande 3 sätt: 1.range(3) [0,1,2] 2.range(3,10) [3,4,5,6,7,8,9] 3.range(3,15,2) [3,5,7,9,11,13,15]

Ännu mer heltalslistor Avtagande heltalslistor >range(6,1,-1) [6,5,4,3,2] >range(10,0,-2) [10,8,6,4,2] Hur skulle vi annars göra avtagande heltalslistor?

None None är ett speciellt ”icke värde”. Används som platshållare. [None] * 10