python集合中 與and or

2021-09-26 14:23:37 字數 1310 閱讀 6769

給定兩個列表,怎麼找出他們相同的元素和不通的元素?

開始我只是想不通為啥可以寫,竟然結果還是對的,當時我就怒了,必須找出來為什麼,不然夜不能寐,所以我把查出來的區別對比全部列印出來了。

上**:

list1 =[1

,2,3

,4,5

]list2 =[4

,5,6

,7,8

]set1 =

set(list1)

set2 =

set(list2)

print

('我是and的結果'

,set1 and set2)

print

('我是or的結果'

,set1 or set2)

print

('相同的元素為:'

,set1 & set2)

print

(set1 | set2)

print

(set1 - set2)

print

('不同的元素為:'

,set1 ^ set2)

結果:

總結:很顯然達到了想要的結果,但是鬱悶了好久,怎麼可以這樣,我這無處安放的暴脾氣,找了好多解釋,終於懂了,特此寫下這篇部落格,好了突然恍然大悟的感覺是真的很爽,不多說上乾貨。

首先分析原因:& 不等於and,|不等於or,(是不是很難理解,是的大神一看就懂了,但是誰不是從菜鳥過來的,別放棄就已經成功了)

python 中 & 、| 代表的是位運算子, and 、or代表的是邏輯運算子

1、 當 set1 and set2的結果為true 的時候,返回的並不是true,而是運算結果的最後一位變數的值。這裡是 返回set2的值。

舉個例子來說a列表和b列表:

(b and a 為真 ,返回的是 a 的值),當a and b結果為false 的時候,返回的是第乙個false 的值,如 a 和 b都為false 那麼返回 a的 值,a 為 真, b 為假,那麼返回的是 b的值

2、當 set1 or set2 為真的時候,返回的是第乙個真的變數的值,這裡返回的是set1。

例子:當a 和 b都為真,那麼返回的是 a,若 a or b 假的時候,返回的是最後乙個判斷條件的值。

3、set1 & set2 求set1和set2的交集(就是共同擁有的元素)

4、set1 | set2求set1和set2的並集 (相當於把兩個集合合併了沒有重複的元素)

5、set1 - set2求set1和set2的差集(項在set1,但不在set2中,簡單來說就是說set1中有的set2他沒有,然後返回set1中set2沒有的)

python中的and or技巧

a first b second 1 and a or b first 0 and a or b second 語言中的 bool a b 表示式。整個表示式從左到右進行演算,所以先進行 and 表示式的演算。1 and first 演算值為 first 然後 first or second 的演算...

Python中 and,or 的計算規則

1.在純and語句中,如果每乙個表示式都不是假的話,那麼返回最後乙個,因為需要一直匹配直到最後乙個。如果有乙個是假,那麼返回假 2.在純or語句中,只要有乙個表示式不是假的話,那麼就返回這個表示式的值。只有所有都是假,才返回假 3.在or和and語句比較難表達,總而言之,碰到and就往後匹配,碰到o...

python 函式 and or 技巧學習

c語言中有類似的表達 bool a b 當表示式值為真的話,值為a,否則為b.看乙個例子 a first b second 1 and a or b first 0 and a or b second 這個例子很好理解,1 表示為真,值為a,否則為b.在使用過程中,發現也不完全是這樣,如果a 為假的...