Nat*_*ski 9 python conditional tuples
是否有一种有效的方法(很好的语法)来检查值是否在元组中包含的两个值之间?
我能想到的最好的事情是:
t = (1, 2)
val = 1.5
if t[0] <= val <= t[1]:
# do something
Run Code Online (Sandbox Code Playgroud)
是否有更好的方法来编写条件?
不,没有专门的语法,使用链式比较是正确的方法.
我能提供的"精确"是首先使用元组解包,但这只是可读性结冰:
low, high = t
if low <= val <= high:
Run Code Online (Sandbox Code Playgroud)
如果您正在使用由collection.namedtuple()您生成的元组子类,当然也可以使用以下属性:
from collections import namedtuple
range_tuple = namedtuple('range_tuple', 'low high')
t = range_tuple(1, 2)
if t.low <= val <= t.high:
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4338 次 |
| 最近记录: |