我有一个二元素元组t
,每个元素要么是正整数,要么是None
,并且组合可能采用以下四种形式之一:
1:(x, y)
:例如(2, 3)
2:(x, x)
:例如(1, 1)
3: (x, None)
(或等效的,(None, x)
):例如(3,无)或(无,5)
4:(无,无)
我的应用程序逻辑希望将 2) 和 3) 视为一种情况,1) 视为第二种情况,4) 视为第三种情况。
我想在给定的元组上找到一个操作,以便更容易/更有效地区分这三种情况。例如,t[0]或t[1]
将帮助我们区分2)和3)的情况以及4)的情况,但它无法区分2)和3)与1) .
最后,我希望最大限度地减少所需的 if
检查数量。
最佳答案
这应该做:
if t[0] or t[1]:
if t[0] == t[1] or not (t[0] and t[1]):
# 2-3rd case
else:
# 1st case
else:
# 4th case
关于python - 有效区分元组中不同可能的组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29931850/