1. 程式人生 > >python set(集合) & 與 and 、 | 與 or之間的區別

python set(集合) & 與 and 、 | 與 or之間的區別

直接上程式碼:
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}