在n个元素的列表中的中位数

时间:2016-12-26 12:06:12

标签: python list median

我正在尝试确定n个元素列表的中位数,我只是看不出我做错了什么。

我有this.GetUserByEmail = function (controllerName, methodName, email) { var promise = $http({ method: 'GET', url: 'api/' + controllerName + '/' + methodName + '?email=' + email, config: { params: { "email": email } } }) .then(function onSuccess(response) { return response.data; }, function onError(response) { return response.statusText; }); return promise; },因此元素的顺序正确,但我的中位数为sorted(list),而不是正确的5.0

我的代码看起来像这样。

4.5

有什么建议吗?

3 个答案:

答案 0 :(得分:7)

sorted()没有到位,它会返回一个新的排序列表。重新分配(lista = sorted(lista))或使用list.sort()代替(lista.sort())。

答案 1 :(得分:1)

您可以在修复错误的同时简化大量代码(,未运行,sorted()是浮点数,因此不是有效的索引值,使用{{1}使用浮点字面值并且可能期望精确浮点数等等。

len(lista)/2

答案 2 :(得分:0)

>>> 5//2.0
2.0
>>> float(5)/2.0
2.5

// 2.0在这种情况下不起作用