具体看这篇文章:
https://blog.youkuaiyun.com/weixin_40041218/article/details/80868521
关于& 和and,感受一下三种写法的区别:
list = [1,2,3,4]
k1 = [col for col in list if (col !=3 & col !=2)]
k2 = [col for col in list if (col !=3) & (col !=2)]
k3 = [col for col in list if (col !=3 and col !=2)]
print(k1)
print(k2)
print(k3)
结果:
[4]
[1, 4]
[1, 4]
主要原因在于:
- “&” 的优先级高于 “!=”(关键)
- “& ” 用于数值变量,则进行的是“位运算”
备注:3 & 4 位运算结果是0 ,3 & 1结果是1