Python 三元表达式的另类实现

传统三元表达式

Python 中传统三元表达式的语法如下:
三元表达式1

通过三元表达式,可以将if-else语句放到一行里。

但传统的写法有些冗长,在参与表达式计算时显得不那么简洁。

1
2
3
a = int(input("请输入一个整数:"))
b = int(input("请输入另一个整数:"))
print(f"两个整数中较大的是:{a if a > b else b}")

另类三元表达式

本文将教大家 Python 三元表达式的另外一种实现方式,其长度会短于传统三元表达式。

语法如下:
三元表达式2

它在参与表达式运算时,会让表达式更短,从而更显简洁

1
2
3
a = int(input("请输入一个整数:"))
b = int(input("请输入另一个整数:"))
print(f"两个整数中较大的是:{(b, a)[a > b]}")

它本质上其实是元组的索引,其缺点是可读性不如传统三元表达式。