如何检查一个变量是否与其他两个变量中的至少一个相同?[重复]
问题内容:
这个问题已经在这里有了答案 :
如何针对一个值测试多个变量? (25个答案)
6年前关闭。
我有一个变量,想检查它是否至少与其他两个变量之一匹配。
显然我可以做到:
if a == b or a == c:
但我想知道是否有更短的方法,例如:
if a == (b or c):
如何测试一个变量是否至少与另一个变量相同?
问题答案:
为此用途in
:
if a in (b, c):
在测试的会员tuple
具有的平均情况下O(n)
的时间复杂度。如果您有大量的值并且正在对同一值执行许多成员资格测试,则可能值得创建set
for速度:
x = set((b,c,d,e,f,g,h,i,j,k,l,...))
if a in x:
...
if y in x:
...
一旦它已建成,在测试的会员set
拥有的平均情况下O(1)
的时间复杂度,因此它可能在长期运行得更快。
或者,您也可以执行以下操作:
if any(a == i for i in (b,c)):