dan*_*jar 1 python if-statement shortcut
我不是在谈论三元运算符.我可以在值表达式之外的一行中编写if else语句吗?我想缩短这段代码.
if x == 'A':
return True
if x == 'B':
return True
if x == 'C':
return True
return False
Run Code Online (Sandbox Code Playgroud)
您可以in像这样使用运算符:
return x in ('A', 'B', 'C')
Run Code Online (Sandbox Code Playgroud)
对于Python 3.2+:
return x in {'A', 'B', 'C'}
Run Code Online (Sandbox Code Playgroud)
来自docs:
Python的窥孔优化器现在可以将x这样的模式识别
{1, 2, 3}为对一组常量中的成员资格的测试.优化器重新编写set为afrozenset并存储预构建的常量.既然速度惩罚已经消失,那么使用set-notation开始编写成员资格测试是切实可行的.
您可以使用in以下命令缩短代码:
return x in ("A", "B", "C")
Run Code Online (Sandbox Code Playgroud)
或者,如果x是单个字符:
return x in "ABC"
Run Code Online (Sandbox Code Playgroud)