Python的与或逻辑包括:
&
|
and
or
下面我们来探索对不同集合类型中的与或的使用。
## 对于布尔数
a = True
b = False
print a & b # 输出False
print a | b # 输出True
print a and b # 输出False
print a or b # 输出True
## 对于列表
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]
## 对于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
## 对于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