如何检查一个变量是否与两个其他变量中的至少一个相同?

3 投票
1 回答
604 浏览
提问于 2025-04-18 05:33

我有一个变量,想检查它是否和另外两个变量中的至少一个相同。

显然,我可以这样做:

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)):

撰写回答