因为需要用到 Numpy Array 里的元素作为字典的 Key ,然而出现 TypeError: unhashable type: 'numpy.ndarray',所以先转 Tuple 再做 Key ,然而发现转 Tuple 时会出现小数点位数异常,举个例子:
In [1]: a = [(40.1234,120.1111),(40.1233,120.1112),(40.1232,120.1113)]
In [2]: b = numpy.array(a)
In [3]: for i in a:
...: print(tuple(i))
(40.1234, 120.1111)
(40.1233, 120.1112)
(40.1232, 120.1113)
In [4]: for i in b:
...: print(tuple(i))
(40.123399999999997, 120.11109999999999)
(40.1233, 120.1112)
(40.123199999999997, 120.1113)
应该怎么处理呢
In [1]: a = [(40.1234,120.1111),(40.1233,120.1112),(40.1232,120.1113)]
In [2]: b = numpy.array(a)
In [3]: for i in a:
...: print(tuple(i))
(40.1234, 120.1111)
(40.1233, 120.1112)
(40.1232, 120.1113)
In [4]: for i in b:
...: print(tuple(i))
(40.123399999999997, 120.11109999999999)
(40.1233, 120.1112)
(40.123199999999997, 120.1113)
应该怎么处理呢