在我的 ubuntu linux 机器上用全新的 Python 2.7.3 解释器执行以下代码,会得到代码后显示的输出。
import numpy as np
p = [1/3., 1/2., 23/25., 1]
q = np.array(p)
r = list(q)
print p; print q; print r
输出:
[0.3333333333333333, 0.5, 0.92, 1]
[ 0.33333333 0.5 0.92 1. ]
[0.33333333333333331, 0.5, 0.92000000000000004, 1.0]
我试图弄清楚为什么 p 和 r 的打印结果不同,但到目前为止还没有一个合理的理论。关于它们为什么不同的任何想法?