有人可以向我解释为什么这不起作用?我得到的错误消息是:TypeError:list indices必须是整数或切片,而不是float。
{{1}}
答案 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)