Вернуть индекс, соответствующий медианному значению из списка - PullRequest
0 голосов
/ 04 июля 2019

Я хочу написать функцию median_index(A), которая возвращает индекс медианы с учетом распределения A (A - это список со значениями, связанными с каждым индексом).

Я выбрал способ получения значения медианы, но теперь я хочу иметь позицию (индекс), где эта медиана находится при сортировке списка A.

def median_index(P):
    l = sorted(P)
    l_len = len(P)
    if l_len < 1:
        return None
    if l_len % 2 == 0 :
        return ( l[(l_len-1)/2] + l[(l_len+1)/2] ) / 2.0
    else:
        return l[(l_len-1)/2]

median_index([0.12,0.04,0.12,0.12,0.2,0.16,0.16,0.08])

В результате получается 5. 5 - последняя позиция, где 0,12. Это индекс медианы 0,12, когда я сортирую список и вычисляю медиану, которая равна 0,12.

1 Ответ

1 голос
/ 04 июля 2019

Вы можете использовать list.index(element)

...