为了账号安全,请及时绑定邮箱和手机立即绑定

将具有偶数个条目的列表一分为二是无效索引

将具有偶数个条目的列表一分为二是无效索引

九州编程 2021-12-29 18:20:27
我有一个列表,如果它有偶数个值,我想找到两个中间条目的中点。我是这样做的:    if len(points) % 2 == 0:         l = (points[len(points)/2][1] + points[len(points)/2 + 1][1])/2但是,我收到一个错误消息:TypeError: list indices must be integers or slices, not float
查看完整描述

2 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

与 Python 2 不同,该/运算符在 Python 3 中始终返回一个浮点数,即使操作数都是整数。您应该改用地板除法运算符//,因为列表索引必须是整数:

l = (points[len(points) // 2][1] + points[len(points) // 2 + 1][1]) / 2


查看完整回答
反对 回复 2021-12-29
?
牛魔王的故事

TA贡献1830条经验 获得超3个赞

在 python 3 中,单除法给出浮点数。改用双除法:


>>> 4/2

2.0

>>> 4//2

2


查看完整回答
反对 回复 2021-12-29
  • 2 回答
  • 0 关注
  • 138 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信