题目:
求结果: a. 1 or 2 b. 1 and 2 c. 1 < (2==2) d. 1 < 2 == 2
结果:
a 1
b 2
c 0
d 1
总结and和or的用法
and:
从左到右,返回第一个为假的表达式值,无假值则返回最后一个表达式值。
or:
从左到右,返回第一个为真的表达式值,无真值则返回最后一个表达式值。
备注:感觉这个例子超级好啊,笔芯
(转自:https://blog.youkuaiyun.com/niuniuyuh/article/details/71213887)
如果坚持要用and-or技巧来实现条件运算符的话,可以用种安全的方法:
[python] view plain copy
>>> a = ”“
>>> b = ”betabin”
>>> (1 and [a] or [b])[0]
”
>>> a = ""
>>> b = "betabin"
>>> (1 and [a] or [b])[0]
''
1
2
3
4
就是万能的[],把a为假的可能性给抹杀掉,然后通过[0]再获得(因为要通过[0]获得元素,所以b也得加上[])。
这个and-or技巧主要在lambda中使用。