一种Pythonic方式如何查找一个值是否在列表中的两个值之间
有一个排序列表和一些随机值,我想找到该值的范围。
列表如下:[0, 5, 10, 15, 20] 值是,比如 8。
标准方法是要么从头开始,直到达到比我们的值大的值(如下例所示),要么执行 二分搜索。
grid = [0, 5, 10, 15, 20]
value = 8
result_index = 0
while result_index < len(grid) and grid[result_index] < value:
result_index += 1
print result_index
我想知道是否有一种更Pythonic的方法,因为这虽然很短,但看起来有点眼睛酸痛。 谢谢您的宝贵时间!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
编辑:
bisect — 数组二分算法
Edit:
bisect — Array bisection algorithm