浅谈Python中(&,|)和(and,or)之间的区别


Posted in Python onAugust 07, 2019

(&,|)和(and,or)是两组比较相似的运算符,用在“与”/ “或”上,在用法上有些许区别。
(&,|)和(and,or)是用来比较两组变量的,格式基本上是:

a & b
a | b
a and b
a or b

如果a,b是数值变量, 则&, |表示位运算, and,or则依据是否非0来决定输出,

&, |:

# 1&2,2在二进制里面是10,1在二进制中是01,那么01与运算10得到是0 


1 & 2     # 输出为 0, 
1 | 2     # 输出为3

and, or:

# 判断变量是否为0, 是0则为False,非0判断为True,
 # and中含0,返回0; 均为非0时,返回后一个值, 
2 and 0  # 返回0
2 and 1  # 返回1
1 and 2  # 返回2

# or中, 至少有一个非0时,返回第一个非0,
2 or 0  # 返回2
2 or 1  # 返回2
0 or 1  # 返回1

如何a, b是逻辑变量, 则两类的用法基本一致

In[103]:(3>0) | (3<1)
Out[103]: True
In[104]:(3>0) and (3<1)
Out[104]: False
In[105]:(3>0) or (3<1)
Out[105]: True
In[106]:(3>0) & (3<1)
Out[106]: False

值得提及的是在DataFrame的切片过程,要注意逻辑变量的使用,

需要求得满足多个逻辑条件的数据时,要使用& 和|,在某些条件下用and/ or会报错‘ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().'

target_url = "http://aima.cs.berkeley.edu/data/iris.csv"
data = pd.read_csv(target_url, header=None, columns=['s_line', 's_wid', 'p_line', 'p_wid', 'kind'])
data.columns = ['s_line', 's_wid', 'p_line', 'p_wid', 'kind']
x_data = data.iloc[:, :-1]

# 在多个逻辑条件下,用& 或者|,
x_1 = x_data[x_data['s_line'] > 6 & x_data['p_wid'] > 0]

浅谈Python中(&amp;,|)和(and,or)之间的区别
浅谈Python中(&amp;,|)和(and,or)之间的区别

参考解释

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python多线程抓取天涯帖子内容示例
Apr 03 Python
Python日期的加减等操作的示例
Aug 15 Python
Python多线程爬虫实战_爬取糗事百科段子的实例
Dec 15 Python
对pandas进行数据预处理的实例讲解
Apr 20 Python
解决tensorflow1.x版本加载saver.restore目录报错的问题
Jul 26 Python
Python设计模式之解释器模式原理与用法实例分析
Jan 10 Python
Django如何开发简单的查询接口详解
May 17 Python
python 安装impala包步骤
Mar 28 Python
新手常见Python错误及异常解决处理方案
Jun 18 Python
利用python下载scihub成文献为PDF操作
Jul 09 Python
基于opencv实现简单画板功能
Aug 02 Python
python 实现简单的计算器(gui界面)
Nov 11 Python
Python操作远程服务器 paramiko模块详细介绍
Aug 07 #Python
使用Python快乐学数学Github万星神器Manim简介
Aug 07 #Python
python中的&amp;&amp;及||的实现示例
Aug 07 #Python
程序员的七夕用30行代码让Python化身表白神器
Aug 07 #Python
python代码实现逻辑回归logistic原理
Aug 07 #Python
Python在cmd上打印彩色文字实现过程详解
Aug 07 #Python
Python如何调用外部系统命令
Aug 07 #Python
You might like
php读取30天之内的根据算法排序的代码
2008/04/06 PHP
thinkphp3.2中Lite文件替换框架入口文件或应用入口文件的方法
2015/05/21 PHP
PHP代码优化技巧小结
2015/09/29 PHP
PHP随机数 C扩展随机数
2016/05/04 PHP
PHP API接口必备之输出json格式数据示例代码
2017/06/27 PHP
php redis setnx分布式锁简单原理解析
2020/10/23 PHP
跨浏览器的设置innerHTML方法
2006/09/18 Javascript
比较简单实用的使用正则三种版本的js去空格处理方法
2007/11/18 Javascript
Prototype Template对象 学习
2009/07/19 Javascript
javascript 写的一个简单的timer
2009/07/30 Javascript
Node.js中使用计时器定时执行函数详解
2014/08/15 Javascript
AspNet中使用JQuery上传插件Uploadify详解
2015/05/20 Javascript
微信jssdk在iframe页面失效问题的解决措施
2016/03/03 Javascript
jQuery.Uploadify插件实现带进度条的批量上传功能
2016/06/08 Javascript
jQuery简单动画变换效果实例分析
2016/07/04 Javascript
微信小程序 教程之条件渲染
2016/10/18 Javascript
jQGrid Table操作列中点击【操作】按钮弹出按钮层的实现代码
2016/12/05 Javascript
在vue组件中使用axios的方法
2018/03/16 Javascript
解决angularJS中input标签的ng-change事件无效问题
2018/09/13 Javascript
详解Angular Forms中自定义ngModel绑定值的方式
2018/12/10 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
vue 动态表单开发方法案例详解
2019/12/02 Javascript
python实现报表自动化详解
2017/11/16 Python
实践Vim配置python开发环境
2018/07/02 Python
Django Rest framework认证组件详细用法
2019/07/25 Python
Python解释器及PyCharm工具安装过程
2020/02/26 Python
CSS3中HSL和HSLA的简单使用示例
2015/07/14 HTML / CSS
HTML5是否真的可以取代Flash
2010/02/10 HTML / CSS
美国购买汽车零件网站:Buy Auto Parts
2018/04/02 全球购物
匈牙利超级网上商店和优惠:Alza.hu
2019/12/17 全球购物
材料物理专业大学毕业生求职信
2013/10/15 职场文书
后勤人员自我鉴定
2013/10/20 职场文书
安全生产专项整治方案
2014/05/06 职场文书
保险公司演讲稿
2014/09/02 职场文书
2014年教务处工作总结
2014/12/03 职场文书
2014年班主任德育工作总结
2014/12/05 职场文书