python set(集合) & 与 and 、 | 与 or之间的区别
# encoding:utf-8
a = set([1, 2, 3, 4, 5])
b = set([4, 5, 6, 7, 8])
# 求两个集合的交集
print(a & b)
print(a and b)
# 求两个集合的并集
print(a | b)
print(a or b)
主要的原因是 & != and , | != or
python 中 & 、| 代表的是位运算符, and 、or代表的是逻辑运算符
① 当 a and b的结果为True 的时候,返回的并不是True,而是 运算结果的最后一位变量的值。这里是 返回b的值
(b and a 为真 ,返回的是 a 的值),
当a and b结果为False 的时候,返回的是第一个False 的值,如 a 和 b都为False 那么返回 a的 值
,a 为 真, b 为假,那么返回的是 b的值
②当 a or b 为真的时候,返回的是第一个真的变量的值,如,当a 和 b都为真,那么返回的是 a
若 a or b 假的时候,返回的是最后一个判断条件的值,这里返回的是 b 的值
所以上面的代码 a and b返回的是 b的值 {4, 5, 6, 7, 8}
a or b 返回的则是 a 的值 {1, 2, 3, 4, 5, 6, 7, 8}