Bal*_*alu 2 python numpy range
有人可以解释下面的'-5'.我对numpy有些新意,但这看起来很奇怪
In [112]: an_int=9
In [113]: an_int/2
Out[113]: 4
In [114]: range(-an_int/2,an_int/2)
Out[114]: [-5, -4, -3, -2, -1, 0, 1, 2, 3]
In [115]: arange(-an_int/2,an_int/2)
Out[115]: array([-5, -4, -3, -2, -1, 0, 1, 2, 3])
In [116]: range(-4,4)
Out[116]: [-4, -3, -2, -1, 0, 1, 2, 3]
Run Code Online (Sandbox Code Playgroud)
问题不是那么笨拙."问题"是python中的整数除法将结果与截断0(如C语言)相反 - 例如-9/2 ,解析为(-9)/2(或者(-9)//2如果您使用的是python3.x)求值为-5.int另一方面,内置函数会截断为零.换一种说法:
a = -9
b = 2
print a//b #-5
print int(float(a)/b) #-4
Run Code Online (Sandbox Code Playgroud)
如果你有兴趣.这是Guido讨论这个有趣(也许有点争议)的设计决定的博客文章.
| 归档时间: |
|
| 查看次数: |
369 次 |
| 最近记录: |