如何检查一个变量是否与两个其他变量中的至少一个相同?
我有一个变量,想检查它是否和另外两个变量中的至少一个相同。
显然,我可以这样做:
if a == b or a == c:
但是我想知道有没有更简洁的方法,类似于:
if a == (b or c):
怎么测试一个变量是否和至少一个其他变量相同呢?
1 个回答
13
要检查一个元素是否在某个集合里,可以使用 in
这个关键字:
if a in (b, c):
在一个 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:
...
一旦创建了集合,检查某个元素是否在这个 set
中,平均情况下的时间复杂度是 O(1)
,所以从长远来看,这样会更快。
或者,你也可以这样做:
if any(a == i for i in (b,c)):