Gjest Slettet-8fx0y6VV Skrevet 31. mars 2005 Del Skrevet 31. mars 2005 Hei list = [1,2,3,4] jeg prover aa finne median (paa englelsk, kommer ikke paa hva er paa norsk). Jeg har list[(len(list))/2], men den virker bare paa lister med et odd nummer av elementer i dem. Noen som vet om en funksjon eller en hack som kan hjelpe meg? Espen Lenke til kommentar https://www.diskusjon.no/topic/399161-python-finne-median-paa-en-list/
Frank2004 Skrevet 1. april 2005 Del Skrevet 1. april 2005 (endret) Hvis antall elementer er et partall, så er vel medianen definert som snittet av de to elementene i midten? Husk forresten å sortere listen din før du prøver å finne medianen, ser ikke at du nevner sortering i eksempelet (listen er riktignok allerede sortert, men vet du at det alltid er tilfelle?). Endret 1. april 2005 av Frank2004 Lenke til kommentar https://www.diskusjon.no/topic/399161-python-finne-median-paa-en-list/#findComment-3932948
Gjest Slettet-8fx0y6VV Skrevet 1. april 2005 Del Skrevet 1. april 2005 joda, jeg vet at jeg maa sortere listen, og det var grunnen til at jeg skrev [1,2,3] og ikke [2,1,3] Medianen ja, det var det paa norsk jeg kunne ikke komme paa hva det var i gaar kveld Jeg har en liten ide, men er ikke sikker paa om den vill virke. Skal poste resultatet av testen senere i dag naar jeg kommer hjem. Espen Lenke til kommentar https://www.diskusjon.no/topic/399161-python-finne-median-paa-en-list/#findComment-3934865
zeitgeist Skrevet 2. april 2005 Del Skrevet 2. april 2005 (endret) Hei list = [1,2,3,4] jeg prover aa finne median (paa englelsk, kommer ikke paa hva er paa norsk). Jeg har list[(len(list))/2], men den virker bare paa lister med et odd nummer av elementer i dem. Noen som vet om en funksjon eller en hack som kan hjelpe meg? Espen def find_median(numberList): copyNumberList = numberList[:] copyNumberList.sort() length = len(numberList) if length % 2 != 0: # oddetall return numberList[(length - 1) / 2] else: a = numberList[(length - 1) / 2] b = 1 + numberList[(length - 1) / 2] return (a + b) / 2.0 # flyttall partall = [1,2,3,4,5,6] oddetall = [1,2,3,4,5,6,7,8,9] print find_median(partall) >>> 3.5 print find_median(oddetall) >>> 5 tror denne gjør jobben. Jeg kikket litt rundt. Det er faktisk mulig å lage en mer effektiv algoritme der sorteringskravet elimineres. Skal du finne medianen på noen mill samples støtt og satdig, så er det jo verdt moroa ;-) http://en.wikibooks.org/wiki/Computer_Scie...r_4#find-median Endret 2. april 2005 av zeitgeist Lenke til kommentar https://www.diskusjon.no/topic/399161-python-finne-median-paa-en-list/#findComment-3937882
Gjest Slettet-8fx0y6VV Skrevet 3. april 2005 Del Skrevet 3. april 2005 Takk saa mye Lenke til kommentar https://www.diskusjon.no/topic/399161-python-finne-median-paa-en-list/#findComment-3944134
kingkong Skrevet 3. april 2005 Del Skrevet 3. april 2005 Det er vel ikke nødvendig å gjøre det så komplisert... l.sort(); med = (l[len(l)/2]+l[(len(l)-1)/2])/2.0 ...burde fungere. Lenke til kommentar https://www.diskusjon.no/topic/399161-python-finne-median-paa-en-list/#findComment-3944272
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå