Python:如何通过点获取区间
我有一组点:
p = [0.03, 0.05, 0.3, 0.7]
我该如何生成距离在[0;1]之间的所有区间呢?
比如说,有这样一组列表:
[0.0, 0.03]
[0.03, 0.05]
[0.05, 0.3]
[0.3, 0.7]
[0.7, 1.0]
接下来,我想检查一个新的输入值属于哪个区间。该怎么做呢?
1 个回答
1
你可以这样来生成配对:
p = [0.03, 0.05, 0.3, 0.7]
p2 = [0.0] + p + [1.0]
for a in zip(p2,p2[1::]):
print(list(a))
结果是:
[0.0, 0.03]
[0.03, 0.05]
[0.05, 0.3]
[0.3, 0.7]
[0.7, 1.0]
要检查新值应该放在哪里,你可以把代码改成:
new_val = 0.8
for a in zip(p2,p2[1::]):
if a[0] <= new_val < a[1]:
print("new_val is here:", a)
结果是:
new_val is here: (0.7, 1.0)