Python的与或逻辑包括:
- 按位与
&
- 按位或
|
- 逻辑与
and
- 逻辑或
or
下面我们来探索对不同集合类型中的与或的使用。
Python标准库中的与或
## 对于布尔数
a = True
b = False
print a & b # 输出False
print a | b # 输出True
print a and b # 输出False
print a or b # 输出True
- 1
- 2
- 3
- 4
- 5
- 6
- 7
## 对于列表
a_list = [True, False, True]
b_list = [True, True, False]
print a_list & b_list # error
print a_list | b_list # error
print a_list and b_list # 输出[True, True, False]
print a_list or b_list # 输出[True, False, True]
- 1
- 2
- 3
- 4
- 5
- 6
- 7
pandas和numpy中的与或
## 对于pandas中的Series
import pandas as pd
df = pd.DataFrame({'a': [True, False, True], 'b': [True, True, False]})
print df
print '============='
print df['a'] & df['b']
print '============='
print df['a'] | df['b']
print '============='
print df['a'] and df['b'] # error
print df['a'] or df['b'] # error
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
## 对于numpy中的ndarray
import numpy as np
a_arr = np.array([True, False, True])
b_arr = np.array([True, True, False])
print a_arr & b_arr
print '============='
print a_arr | b_arr
print '============='
print a_arr and b_arr # error
print a_arr or b_arr # error
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10