Python:如何通过点获取区间

-3 投票
1 回答
575 浏览
提问于 2025-04-29 09:53

我有一组点:

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)

撰写回答