python 中 and 和 or 的用法
2017-11-06 14:34
726 查看
在看《集体智慧编程》第九章,对从Facebook上爬来的数据进行分析时有这样一条语句让我很困惑。
咋一看,有点晕,就上网查了下,现将查到的知识记录下来。
1.and的优先级要大于or
2.a and b语句的输出全看a的Boolean值,如果a为True,输出b;反之,如果a为False,输出a
3.a or b语句的输出也全看a的Boolean值,如果a为True,输出a;反之,如果a为False,输出b
再把原因解释下:
这条语句实际输出的是最后一个判断条件的值,and和or语句的判断都是从左至右的。
即a and b会先判断a,如果a为True,则还需要判断b的Boolean值,不管b的Boolean值是什么,最后一个判断的是b,所以会输出b;反之,如果a为False,则不需要再判断b的Boolean值了,因为结果肯定为False,所以最后进行判断的就是a,也就是会输出a。
而a or b也是会先判断a,如果a的Boolean值为True,则不需要再判断b的Boolean值了,因为结果肯定是True了,也就是会输出a;如果a的Boolean值为False,则就需要再去判断b的Boolean值,不管b的Boolean值为多少,最后进行判断的都是b,也就是输出就为b。
光说不练假把式,就举几个例子看下:
具体的推导过程就不说了,这个明白了后我们再看原来的语句就好理解了
这两条语句的主要作用是将原数据集中的性别一项转换为1和0两个容易处理的int型数据,它们等价于:
这样就可以将一条4行的语句换为一行语句就可以解决了,这是一个很好用的方法。
male1 = (data1['gender'] == 'Male') and 1 or 0 male2 = (data2['gender'] == 'Male') and 1 or 0
咋一看,有点晕,就上网查了下,现将查到的知识记录下来。
1.and的优先级要大于or
2.a and b语句的输出全看a的Boolean值,如果a为True,输出b;反之,如果a为False,输出a
3.a or b语句的输出也全看a的Boolean值,如果a为True,输出a;反之,如果a为False,输出b
再把原因解释下:
这条语句实际输出的是最后一个判断条件的值,and和or语句的判断都是从左至右的。
即a and b会先判断a,如果a为True,则还需要判断b的Boolean值,不管b的Boolean值是什么,最后一个判断的是b,所以会输出b;反之,如果a为False,则不需要再判断b的Boolean值了,因为结果肯定为False,所以最后进行判断的就是a,也就是会输出a。
而a or b也是会先判断a,如果a的Boolean值为True,则不需要再判断b的Boolean值了,因为结果肯定是True了,也就是会输出a;如果a的Boolean值为False,则就需要再去判断b的Boolean值,不管b的Boolean值为多少,最后进行判断的都是b,也就是输出就为b。
光说不练假把式,就举几个例子看下:
>>> 4 and 5 5 >>> 4 or 5 4 >>> 3 and 4 or 5 4 >>> 3 and (4 or 5) 4 >>> 3 or 4 and 5 3 >>> (3 or 4) and 5 5 >>>
具体的推导过程就不说了,这个明白了后我们再看原来的语句就好理解了
这两条语句的主要作用是将原数据集中的性别一项转换为1和0两个容易处理的int型数据,它们等价于:
if(data['gender'] == 'Male'): male = 1 else: male = 0
这样就可以将一条4行的语句换为一行语句就可以解决了,这是一个很好用的方法。
相关文章推荐
- python and-or 用法
- Python中AND-OR的用法
- 【python】and和or的用法
- python关键字and和or用法实例
- python布尔类型关于and和or用法说明马克
- Python 学习系列(2)and、or用法
- python and 和 or的用法
- python关键字and和or用法实例
- 无意学会了python中and和or的有趣用法
- python中and和or的用法
- python中and和or的用法
- python中 and和or用法
- python关键字and和or用法实例
- python and和or的用法
- python中and和or的用法
- 今天开始学Python(and 和 or 运算)
- python中的and | or表达式
- python中关于 and 与or的优先级举例
- python: and & or 探究
- 【转载】python 中的 and、or、and-or