給定兩個列表,怎麼找出他們相同的元素和不通的元素?
開始我只是想不通為啥可以寫,竟然結果還是對的,當時我就怒了,必須找出來為什麼,不然夜不能寐,所以我把查出來的區別對比全部列印出來了。
上**:
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 為假的...