在Python的元组值列表中查找范围内的值

2024-06-29 00:52:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试获得体重指数(BMI)的分类,该BMI值在标准BMI范围内——例如,如果某人的BMI为26.2,他们将在“超重”范围内。

我列了一个值的元组列表(见下文),当然我对任何其他数据结构都是开放的。这很容易在SQL之间实现,但我想用纯Python实现,主要是因为它意味着更少的DB连接,同时也是在“纯”Python中实现更多连接的练习。

bmi_ranges = []
bmi_ranges.append((u'Underweight', u'Severe Thinness', 0, 15.99))
bmi_ranges.append((u'Underweight', u'Moderate Thinness', 16.00, 16.99))
bmi_ranges.append((u'Underweight', u'Mild Thinness', 17.00, 18.49))
bmi_ranges.append((u'Normal Range', u'Normal Range', 18.50, 24.99))
bmi_ranges.append((u'Overweight', u'Overweight', 25.00, 29.99))
bmi_ranges.append((u'Obese', u'Obese Class I', 30.00, 34.99))
bmi_ranges.append((u'Obese', u'Obese Class II', 35.00, 39.99))
bmi_ranges.append((u'Obese', u'Obese Class III', 40.00, 1000.00))

如果一个范围在元组列表中正好是,那么使用listcomp迭代就足够容易了,但是如何才能找到一个值在其他任何值的范围内呢?


Tags: 列表range指数class元组bminormalranges