上面的代码返回错误:
TypeError: slice indices must be integers or None or have an __index__ method
为什么会这样——尤其是我给出的向量的长度是一个能被2整除的int(事实上,我检查了这一点)?
我认为整数在Python中有精确的表示,所以len(a)/2应该总是返回一个int
即使
parameters
可以被 2 整除而没有余数,len(parameters)/2
也将返回 float
。使用 len(parameters)//2
将其转换为 int
。
len(a)/2
是楼层划分。
它总是返回一个浮点数。
你应该这样做
integer division //
parameters[: (len(parameters) // 2)]
示例
4/2
2.0
4//2
2