TypeError:切片索引必须是整数、None或具有__index__方法,如何解决?
- 内容介绍
- 文章标签
- 相关推荐
本文共计215个文字,预计阅读时间需要1分钟。
错误提示:TypeError: slice indices must be integers or None or have an __index__ method 主要是因为使用了不支持浮点数的切片索引。例如,`len(alist)/2` 得到的是浮点数,这在 Python 中是不允许的。Python 2 中对此类问题处理方式与其他语言不同。以下是修改后的代码示例:
pythonalist=[1, 2, 3, 4, 5]middle_index=len(alist) // 2 # 使用整数除法获取中间索引middle_value=alist[middle_index]print(middle_value)
TypeError: slice indices must be integers or None or have an __index__ method该错误主要是因为下标不支持浮点数所导致的
例如:len(alist)/2
得到的类型为浮点数
这和Python2还有很多其他语言不一样,Python2还有很多其他语言大多数会将该结果转化为整数类型,但是在python3中该类型为浮点数类型,因此会报错。
主要检查一下下标的类型就可以了。
本文共计215个文字,预计阅读时间需要1分钟。
错误提示:TypeError: slice indices must be integers or None or have an __index__ method 主要是因为使用了不支持浮点数的切片索引。例如,`len(alist)/2` 得到的是浮点数,这在 Python 中是不允许的。Python 2 中对此类问题处理方式与其他语言不同。以下是修改后的代码示例:
pythonalist=[1, 2, 3, 4, 5]middle_index=len(alist) // 2 # 使用整数除法获取中间索引middle_value=alist[middle_index]print(middle_value)
TypeError: slice indices must be integers or None or have an __index__ method该错误主要是因为下标不支持浮点数所导致的
例如:len(alist)/2
得到的类型为浮点数
这和Python2还有很多其他语言不一样,Python2还有很多其他语言大多数会将该结果转化为整数类型,但是在python3中该类型为浮点数类型,因此会报错。
主要检查一下下标的类型就可以了。

