提问人:Lost1 提问时间:8/5/2023 最后编辑:Goku - stands with PalestineLost1 更新时间:8/7/2023 访问量:50
在 Python 中对列表索引进行操作时出现 TypeError
TypeError while operating on list indices in Python
问:
我有以下代码:
(len(parameters) / 2
上面的代码返回了错误:
TypeError: slice indices must be integers or None or have an __index__ method
为什么会这样 - 尤其是我给出的向量的长度是一个可以被 2 整除的 int(事实上,我检查了这一点)?
我认为整数在 python 中具有精确的表示形式,因此 len(a)/2 应始终返回一个 int。
欢迎任何帮助。
答:
1赞
doneforaiur
8/5/2023
#1
即使 能被 2 整除而没有余数,也会返回 .用于将其转换为 .parameters
len(parameters)/2
float
len(parameters)//2
int
欲了解更多信息;数值类型。
评论
0赞
Goku - stands with Palestine
8/5/2023
恭喜你获得第一枚金牌!
1赞
doneforaiur
8/5/2023
@TalhaTayyab Ayyyy,谢谢你。
1赞
Goku - stands with Palestine
8/5/2023
别客气。。继续加油!!
1赞
Goku - stands with Palestine
8/5/2023
#2
len(a)/2
是楼层划分。
它始终返回一个浮点数。
你应该做integer division //
parameters[: (len(parameters) // 2)]
例
4/2
2.0
4//2
2
评论
0赞
Lost1
8/6/2023
从 Python 2 到 Python 的约定是否有变化/或者我是幻觉?
0赞
doneforaiur
8/6/2023
@Lost1 是的,在 Python 2 中,如果你将两个 int 除以,无论余数如何,你都会得到一个 int。
评论