0

我在迭代 Python 中的列表时遇到了麻烦。为此,我稍微摆弄了一个 numpy 数组可迭代并进入以下(仍然不起作用)阶段:

import imp
import numpy as np
foo = imp.load_source('cvxeda', 'D:\\Python27\\Lib\\cvxEDA\\src\\cvxEDA.py')

tau = np.arange(2,4.1,0.1).tolist()
print tau

# for i, t in tau:
     # print t
     # [r[i], p[i], t[i], l[i], d[i], e[i], obj[i]] = foo.cvxEDA(data, 1./fs, t, 0.7, 10.0, 0.0008, 0.01)

现在这就是奇怪的事情发生的地方: 的输出np.arange(2,4.1,0.1)与预期的一样:

[ 2. 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 3. 3.1 3.2 3.3 3.4 3.5 3.6 3.7 3.8 3.9 4. ]

但是,当我使用时print tau,输出是:

[2.0, 2.1, 2.2, 2.3000000000000003, 2.4000000000000004, 2.5000000000000004, 2.6000000000000005, 2.7000000000000006, 2.8000000000000007, 2.900000000000001, 3.000000000000001, 3.100000000000001, 3.200000000000001, 3.300000000000001, 3.4000000000000012, 3.5000000000000013, 3.6000000000000014, 3.7000000000000015, 3.8000000000000016, 3.9000000000000017, 4.000000000000002]

出于某种原因, tolist() 更改了大多数值的值。这怎么可能?

4

0 回答 0