Python中&、^與and、or

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

list1 = [1, 2, 3, 4, 57, 8, 90]  list2 = [2, 3, 4, 5, 6, 7, 8]  lis = list1 + list2  print('&的結果:', set(list1) & set(list2))  print('^的結果:', set(list1) ^ set(list2))  print('and的結果:', set(list1) and set(list2))  print('or的結果:', set(list1) or set(list2))

結果:

&的結果: {8, 2, 3, 4}  ^的結果: {1, 5, 6, 7, 57, 90}  and的結果: {2, 3, 4, 5, 6, 7, 8}  or的結果: {1, 2, 3, 4, 8, 57, 90}

總結:

  & 不等於and,|不等於or

  &、^代表的是位運算符,andor代表的是邏輯運算符

&的源碼:

def __and__(self, *args, **kwargs): # real signature unknown      """ Return self&value. """      pass