Python查找中值函数错误

时间:2017-04-26 15:36:57

标签: python function median

有人可以向我解释为什么这不起作用?我得到的错误消息是:TypeError:list indices必须是整数或切片,而不是float。

{{1}}

2 个答案:

答案 0 :(得分:0)

如果len(lst)为奇数,则l成为浮点数。

有趣的是,你编写的代码可能在Python 2中有效,因为如果分子和分母都是整数,它使用整数除法。

然而,在Python 3中,默认使用了真正的除法。

有关详细信息,请参阅:In Python 2, what is the difference between '/' and '//' when used for division?https://docs.python.org/whatsnew/2.2.html#pep-238-changing-the-division-operator

答案 1 :(得分:0)

您在计算l

时出现

错误

使用运算符/进行除法返回实际除法,即浮点值,而//仅返回商,即整数

因此

您应按如下方式计算l

l = len(lst) // 2

或使用

l转换为int
l  = int(l)