-1
def median(numbers): 
    numbers.sort() 
    if len(numbers) % 2: 
     # if the list has an odd number of elements, 
     # the median is the middle element 
     middle_index = int(len(numbers)/2) 
     return numbers[middle_index] 
    else: 
     # if the list has an even number of elements, 
     # the median is the average of the middle two elements 
     right_of_middle = len(numbers)//2 
     left_of_middle = right_of_middle - 1 
     return (numbers[right_of_middle] + numbers[left_of_middle])/2 

Beispiele für Ergebnisse:

>>> x=[5,10,15,20] 
>>> median(x) 
12.5 
>>> x=[17,4,6,12] 
>>> median(x) 
9.0 
>>> x=[13,6,8,14] 
>>> median(x) 
10.5 

ich diese Funktion ausgeführt haben und es funktioniert gut. Am Anfang war es schwierig die Ergebnisse zu verstehen, aber letztendlich habe ich es geschafft!Boden Divison Operator auf eine Liste in Python angewendet

Allerdings verstehe ich nicht, warum nur das erste Ergebnis ist wie es sein soll. Ich meine das Ergebnis ist der Durchschnitt der zwei mittleren Nummern der Liste.

Ich hoffe, Sie verstehen, ich lerne selbst und manchmal ist es nicht einfach.

+0

Ich verstehe nicht, was Sie hier fragen. Das Ergebnis ist in allen drei Fällen korrekt. – sposnjak

Antwort

1

Ihre Funktion funktioniert nur im ersten Beispiel, weil nur die erste Liste sortiert ist. Sortieren Sie die andere Liste oder sortieren Sie sie in der Funktion.

0

Ganz einfach, weil dieser Linie:

numbers.sort() 

so wird [17,4,6,12][4,6,12,17] die sein Median 9

0

Sie sind wahrscheinlich fragen:

Warum der Median unterscheidet aus der Mittelwert?

Die Antwort ist, dann folgt aus:

Der Median ist der Wert, desto höher die Hälfte einer Datenprobe trennt, eine Population oder eine Wahrscheinlichkeitsverteilung, von der unteren Hälfte.

(. Von Wikipedia)

Für einen Datensatz, Arithmetik der Begriffe bedeuten, mathematische Erwartung und manchmal Durchschnitt synonym verwendet, um einen zentralen Wert eines diskreten Satzes von Zahlen vorgelegt: speziell , die Summe der Werte dividiert durch die Anzahl der Werte.

(. Von Wikipedia)

Diese beiden Werte gleich sein können, aber im Allgemeinen gibt es verschiedene:

Wenn Sie 10 arme Menschen und 1 Millionär, die bedeutet wird sehr hoch sein, aber der Median (das Gehalt der 6th m ost armer Mensch) wird immer noch sehr niedrig sein.

Verwandte Themen