2022年 11月 9日

Python的与或逻辑

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

这里写图片描述