python C 与布尔numpy数组VS PEP8 E712的比较
发布时间:2023-12-16 22:14:31 所属栏目:Python 来源:DaWei
导读: PEP8 E712要求“如果cond为True,则应与True进行比较:或者如果cond:”.
但如果我遵循这个PEP8,我会得到不同/错误的结果.为什么?
In [1]: from pylab import *
In [2]: a = arr
但如果我遵循这个PEP8,我会得到不同/错误的结果.为什么?
In [1]: from pylab import *
In [2]: a = arr
PEP8 E712要求“如果cond为True,则应与True进行比较:或者如果cond:”. 但如果我遵循这个PEP8,我会得到不同/错误的结果.为什么? In [1]: from pylab import * In [2]: a = array([True,True,False]) In [3]: where(a == True) Out[3]: (array([0,1]),) # correct results with PEP violation In [4]: where(a is True) Out[4]: (array([],dtype=int64),) # wrong results without PEP violation In [5]: where(a) Out[5]: (array([0,) # correct results without PEP violation,but not as clear as the first two imho. "Where what?" 解决方法 该建议仅适用于测试值的“真实性”的if语句. numpy是一个不同的野兽. >>> a = np.array([True,False]) >>> a == True array([ True,False],dtype=bool) >>> a is True False注意a是True始终为False,因为a是一个数组,而不是布尔值,并且是一个简单的引用相等性测试(因此只有True是True;例如,None不是True). (编辑:百色站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- python – pip安装eyeD3模块.找不到libmagic
- python – Networkx:将多重图形转换为加权边缘的简单图形
- Python’的奇怪行为是’运算符,如果与’in’结合使用[复制]
- Python统计python文件中代码,注释及空白对应的行数示例【测
- 如何使用python查询mongodb中的不同结果?
- python – 方法中的单个字符串或字符串列表
- python – 启动py.test后,在读取请求的数据流后无法访问正文
- python – Django Crispy Forms添加Div提交按钮
- 在远程服务器上使用ein(emacs ipython notebook)
- python – Django REST Framework中的camelCase POST数据
推荐文章
站长推荐