发布
社区首页 >问答首页 >Python最后一个元素中的列表

Python最后一个元素中的列表
EN

Stack Overflow用户
提问于 2016-08-30 19:04:32
回答 3查看 71关注 0票数 2

我对python很陌生,我试过这样做:

代码语言:javascript
代码运行次数:0
复制
import numpy as np

x = np.arange(0.7,1.3,0.1)
print (x)
y = np.arange(0.6,1.3,0.1)
print (y)

输出为[ 0.7 0.8 0.9 1. 1.1 1.2 1.3][ 0.6 0.7 0.8 0.9 1. 1.1 1.2]。为什么在第一种情况下1.3出现在列表中,而在第二种情况下却没有出现呢?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2016-08-30 19:07:57

这要归功于舍入误差。如果您实际上在x中以完全精确的方式打印最后一个元素,您将看到它比1.3

代码语言:javascript
代码运行次数:0
复制
>>> import numpy as np
>>> x = np.arange(0.7,1.3,0.1)
>>> 1.3 > x[-1]
True
>>> x[-1]
1.2999999999999998

注意,如文档中所述

当使用非整数步骤(如0.1 )时,结果通常不一致.对于这些情况,最好使用linspace

票数 6
EN

Stack Overflow用户

发布于 2016-08-30 19:08:27

arange不适合浮点数:

当使用非整数步骤(如0.1 )时,结果通常不一致.对于这些情况,最好采用使用行空间

我不太熟悉numpy的内部结构,但我猜这是浮点数不精确的副作用(这意味着它们不能准确地表示某些值)。

票数 4
EN

Stack Overflow用户

发布于 2016-08-30 19:08:26

请参阅numpy.arange文档这里

具体而言,“当使用非整数步骤(如0.1 )时,结果往往不一致。对于这些情况,最好使用linspace。”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39235246

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档