我有一个变量,并想检查它是否与其他两个变量中的至少一个匹配.
显然,我可以这样做:
if a == b or a == c:
Run Code Online (Sandbox Code Playgroud)
但我想知道是否有更短的方式,例如:
if a == (b or c):
Run Code Online (Sandbox Code Playgroud)
如何测试变量是否与 - 至少 - 其中一个变量相同?
ssh*_*124 13
为此用途in:
if a in (b, c):
Run Code Online (Sandbox Code Playgroud)
测试a tuple中的成员资格具有O(n)时间复杂性的平均情况.如果您有大量值并且正在对同一个值集合执行许多成员资格测试,那么创建set速度可能是值得的:
x = set((b,c,d,e,f,g,h,i,j,k,l,...))
if a in x:
...
if y in x:
...
Run Code Online (Sandbox Code Playgroud)
一旦构建完成,对其成员资格的测试set具有O(1)时间复杂度的平均情况,因此从长远来看可能更快.
或者,您也可以这样做:
if any(a == i for i in (b,c)):
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
237 次 |
| 最近记录: |