Haskell Lite mera om listor. Skapa en lista mha ett delintervall Prelude> [1..8] [1,2,3,4,5,6,7,8] Prelude> [1.1.. 2.2] [1.1,2.1] Prelude> [1.1.. 4.2]

Slides:



Advertisements
Liknande presentationer
Målvakter Detta talar för Tre Kronor Detta talar för Tre Kronor Detta talar emot Tre Kronor Detta talar emot Tre Kronor Performance-analyserIndividuella.
Advertisements

Resultat av telefonundersökning maj 2008 om enskilt eller kommunalt huvudmannaskap för vägar och parkmark Bilaga till tjänsteskrivelse Sammanställning.
PTS Bredbandskartläggning
Folkhälsan i Sverige: Årsrapport 2012
Alla förskolor stimulerar och utmanar barnens matematiska tänkande.
Grafer Riks-Stroke årsrapport
Folkbildningspolitikers attityder till studieförbunden 2013
Resultat av brukarenkäter 2012 Funktionsstöd. Svarsfrekvens.
Kalibrering – Dagens kapacitet – något under DG
Kap 1 - Algebra och linjära modeller
Landstingens resultat HT11
Ett inkassobolag utan betalande gäldenärer har ingen framtid.
Joomla © 2009 Stefan Andersson 1. Kontaktformulär  På varje seriös webbplats bör det finnas ett kontaktformulär.  Använd ej maillänkar, risk för spam!
PROJEKT TRAPPSTEGET Bilaga 1 PROJEKT TRAPPSTEGET
Konstföreningen Dragning På sista sidan finns konstnärerna för respektive tavla.
Kund: Akademikerförbundet SSR Kontakt: Stina Andersson/Linus Isaksson
Presskonferens 12 december 2013 Arbetsmarknadsutsikterna Hösten 2013 Tord Strannefors.
Danderyds ungdomar och internet. 80% använder internet på datorn varje dag 10% använder internet på datorn 4-6 ggr/vecka 82% använder internet på mobilen.
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.
Nya typer Konstruerare, selektorer och predikat Rekursiva datatyper
Projektföljeforskning
1 Hårddiskar och Disketter Boot sektorn på en diskett eller startsektorn på en partition (se s. 770)
Karolinska Institutet, studentundersökning Studentundersökning på Karolinska Institutet HT 2013.
Fruktsamhet och mortalitet, uppdelat på födelseländer och
Bastugatan 2. Box S Stockholm. Blad 1 Läsarundersökning Maskinentreprenören 2004.
© Patrick Blackburn, Johan Bos & Kristina Striegnitz FL 5: Aritmetik Teori –Introducerar Prologs inbyggda operationer för aritmetik –Tillämpar dessa på.
| Trycksår Kommun/Områdes-skillnader (inklusive könsdimensionen) Dennis Nordvall Statistiker/Datamanager,
Sammanställning genomförd av: Susanne Malmquist, Codeq AB.
Onsdagsgolfare!!! Upptaktsmöte den 20/3 kl 18:30 Vi vill, som traditionen påbjuder, träffa er alla och diskutera årets upplägg. Herrkommittén Roine, Hoa,
INFÖR NATIONELLA PROVET
Styrketräning i teori och praktik
SWEPOS Kundnöjdhetsundersökning Undersökningen Webenkät under 3 veckor i september 2012 Bruttourval ca huvudutskick och 2 påminnelser Triss-lott.
Enkätresultat för Grundskolan Elever 2014 Skola:Hällby skola.
Sammanfattning av marknadsundersökning Siffrorna är angivna i procent (%) och baserade på den undersökning som gjordes på 100 slumpmässigt utvalda personer.
Sveriges utrikeshandel (Andelar i procent) ImportExport EU (25) EFTA NAFTA Central- och Östeuropa Asien - Japan - Kina Övriga 59,9.
Information statistik Ej med i statistik: Konradsbergs lokaler (utgår VT13) Sveaplans Aula (merparten bokas endast av en institution) Nya lokalerna i Frescati.
Information statistik Ej med i statistik: Konradsbergs lokaler (utgår VT13) Nya lokalerna i Frescati backe (ej med i gamla systemet) Övrigt: Mätningen.
Information statistik Ej med i statistik: Konradsbergs lokaler (utgår VT13) Nya lokalerna i Frescati backe (ej i bruk förrän VT13) Övrigt: Mätningen är.
Finländarnas uppfattningar om äldrevården Kirsi Markkanen Utvecklingschef Tehy rf.
1 Vänsterskolan Debattartiklar. 2 Aktuell krok 3 Aktuella krokar 1. Direkt krok.
Stöd till Brottsoffer Första enkätinsamlingen februari :a årets svarsfrekvens på 83% 2:a årets svarsfrekvens 92% 3:e året %
Konsumenter om Svanen och EU Ecolabel Om undersökningen Utförd av: Response Analys, Oslo i dec 2010 Cirka personer från respektive land Totalt.
Kap 4 - Statistik.
Kostnader för läkemedelsförmån Utveckling t.o.m. september 2014 Materialet: avser kostnader inklusive moms är ej åldersstandardiserat Lennart Tingvall:
Sveriges utrikeshandel mars Källa: WTO; International Trade Statistics 2009.
Hittarps IK Kartläggningspresentation år 3.
Allergiprevention med probiotika
Information statistik Ej med i statistik: Konradsbergs lokaler (utgår VT13) Institutionsägda lokaler Övrigt: Mätningen är gjord terminstiden för VT13 (undantag.
1 Individ Kompetens 60%66%67% Motivation 59%64%60% Ansvar & Initiativ 77%74%68% Befogenheter 82%69%61% Organisation Samarbete 52%66%68% Organisatorisk.
1 Bakgrund & Genomförande MÅLGRUPP Män och kvinnor år, dvs ca 7 miljoner Riksrepresentativt urval från Novus Sverigepanel som är slumpmässigt rekryterad.
Patientsrömmar och täckningsgrad. Caj Skoglund Vad händer med ansvarsfördelning och patientströmmar i ett vårdvalssystem? Relativt hög fast.
Ekvationer Det är inte så svårt?.
Kommunalekonomins utveckling Nordiskt möte i Island 2014 Ilari Soosalu.
ÖVERSLAGSRÄKNING.
Kouzlo starých časů… Letadla Pár foteček pro vzpomínku na dávné doby, tak hezké snění… M.K. 1 I Norrköping får man inte.
Best pictures on the internet 2007 Awards 1http:// Är vänsteralliansen trovärdig i Norrköping.
Idrottsverksamhet 2010 i Motala kommun Omfattning totalt Största idrotterna Största flickidrotterna Största pojkidrotterna Jämställdheten inom olika idrotter.
Datastrukturer och algoritmer VT © Anders Broberg, Ulrika Hägglund, Lena Kallin Westin, 2003 Bredden-först exempel ABCD EFGH IJKL MNOP = Obesökt.
Varumärket Luleå kommun
Best pictures on the internet 2007 Awards 1http:// (s), (v), och (mp) i Norrköping, gillar inte att vi använder grundlagarna.
Resultat sammanhållen vård och omsorg om de mest sjuka äldre i Örebro län Västra länsdelen mätperiod 2014.
Källa: FHI, Folkhälsodatabas
RALS 2007 – Lite siffror mars anställda 50,2 % kvinnor 49,8 % män.
F. Drewes, Inst. f. datavetenskap1 Föreläsning 11: Funktionella språk Funktioner och variabler i matematiken Funktionella språk LISP, ML och.
Praktisk epidemiologi för allmänläkare
Fråga 1: Om ledamöter i ALF- kommittén har haft personlig fördel avs kommitténs bedömning av deras ansökningar? Fråga 2: Om kvinnliga & manliga ledamöter.
Förskoleenkät Föräldrar 2012 Förskoleenkät – Föräldrar Enhet:Hattmakarns förskola.
Undersökningen utfördes sommaren/hösten 2008 vid två stormarknader, den ena i Eskilstuna och den andra i Nacka utanför Stockholm. 100.
Länkade listor Binära träd
Presentationens avskrift:

Haskell Lite mera om listor

Skapa en lista mha ett delintervall Prelude> [1..8] [1,2,3,4,5,6,7,8] Prelude> [ ] [1.1,2.1] Prelude> [ ] [1.1,2.1,3.1,4.1] Prelude> [1,3..10] [1,3,5,7,9] Steglängd: default 1 Sista elementet närmast slutgränsen Steglängd: default 1 Sista elementet närmast slutgränsen Du kan definiera steglängden själv implicit

Skapa en lista mha ett delintervall Prelude> [1.1, ] [1.1,1.2, , , , , , , , , , , , ] Inte så exakt när det gäller flyttal...

List comprehension En kraftfull mekanisk för att skapa listor Syntax (jfr matematisk standardnotation; <- ska tolkas som ∈ Prelude> let ex = [1..10] Prelude> ex [1,2,3,4,5,6,7,8,9,10] Prelude> let x2 = [2*x | x <- ex] Prelude> x2 [2,4,6,8,10,12,14,16,18,20]

List comprehension Du kan också använda funktioner i list comprehensions: Prelude> let isEven n = (n `mod` 2 == 0) Prelude> :info isEven isEven :: Integral a => a -> Bool -- Defined at :22:5 Prelude> let evenEx = [isEven x | x <- ex] ex = [1..10] Prelude> evenEx [False,True,False,True,False,True,False,True,False,True] Prelude> let evenEx = [isEven x | x <- x2] ex2 = [2,4..20] Prelude> evenEx [True,True,True,True,True,True,True,True,True,True]

List comprehension Du kan sätta villkor till generatorn: Prelude> let exBig = [x | x = 10] Prelude> exBig [10,12,14,16,18,20] Prelude> let ex = [1..100] Prelude> let testL = [x | x 60] Prelude> testL [62,64,66,68,70,72,74,76,78,80,82,84,86,88,90,92,94,96,98,100]

List comprehension Du kan använda ett mönster i stället för en variabel på den vänstra sidan av pilen: Prelude> let parPlus = [x+y | (x,y) <- [(1,1),(2,2),(4,4)]] Prelude> parPlus [2,4,8]

List comprehension Du kan ha två generatorer och kombinera deras resultat, här till en kartesisk produkt: Prelude> let paraxy = [(x,y) | x <- [1..5], y <- [1..5]] Prelude> paraxy [(1,1),(1,2),(1,3),(1,4),(1,5),(2,1),(2,2),(2,3),(2,4),(2,5),(3,1),(3,2),(3,3),(3,4),(3,5),(4,1),(4,2),(4,3),(4,4),(4,5),(5,1),(5,2),(5,3),(5,4),(5,5)] Prelude> let testL = [x - y | x <- [1..5], y <- [2,4..10]] Prelude> testL [-1,-3,-5,-7,-9,0,-2,-4,-6,-8,1,-1,-3,-5,-7,2,0,-2,-4,-6,3,1,-1,-3,-5]

List comprehension Obs! Om du vill subtrahera elementen parvis, dvs första element – första element, andra element – andra element etc. finns det andra operationer för detta! (Se zip och zipWith) Prelude> let l1 = [1..5] Prelude> let l2 = [2,4..10] Prelude> :info zip zip :: [a] -> [b] -> [(a, b)] -- Defined in `GHC.List' Prelude> let l3 = zip l1 l2 Prelude> l3 [(1,2),(2,4),(3,6),(4,8),(5,10)] Prelude> let l4 = [a-b | (a,b) <- l3] Prelude> l4 [-1,-2,-3,-4,-5]

List comprehension Vi kan också göra detta ännu snyggare utan list comprehension när vi tittar mera på högre ordningens funktioner: Prelude> l1 [1,2,3,4,5] Prelude> l2 [2,4,6,8,10] Prelude> let l5 = zipWith (-) l1 l2 Prelude> l5 [-1,-2,-3,-4,-5]

List comprehension Vi kan använda list comprehension i funktionsdefinitioner: Prelude> let addOrdPairs pairList = [m+n | (m,n) <- pairList, m < n] Prelude> :info addOrdPairs addOrdPairs :: (Num t, Ord t) => [(t, t)] -> [t] -- Defined at :55:5 Prelude> addOrdPairs [(1,1), (1,2), (2,3), (4,2)] [3,5]

List comprehension Vi kan använda list comprehension i funktionsdefinitioner: Prelude> let allEven xs = (xs == [x | x <- xs, isEven x]) Prelude> :info allEven allEven :: Integral a => [a] -> Bool -- Defined at :58:5 Prelude> allEven [1..10] False Prelude> allEven [2,4..20] True Prelude> allEven [2,4..19] True 19 är ej med i listan!

List comprehension Vi kan använda list comprehension i funktionsdefinitioner: Prelude> let singletons xss = [x | [x] <- xss] Prelude> :info singletons singletons :: [[t]] -> [t] -- Defined at :63:5 Prelude> singletons [[], [1], [2], [3,4,5], [2,4], [6,7,8], [9]] [1,2,9] Observera hur mönsteranpassning används här!