python - 有效区分元组中不同可能的组合

标签 python python-3.x if-statement

我有一个二元素元组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/

相关文章:

python - 音乐在Python/Pygame中不起作用

python - 如何使 pygame 沿 2 点之间的直线上的所有点绘制?

mysql - 如何根据不同的列数据进行选择

java - 机器人 : if(); do not caused any prohibition

python - Perl 正则表达式\U

python - GPT-3微调错误: Incorrect API key provided

python - 一个简单的问题,关于txt的缩进问题

python - 在 Windows 10 上使用 pip 安装 pytorch 时出错

python - 在多个管道上选择

python - 如何根据日期字符串的存在(但在不同的行上)创建虚拟变量?