我有一个预定义整数的Python列表:
intvals = [5000, 7500, 10000, 20000, 30000, 40000, 50000]
我需要向下和向上取整列表中下一个较低/较高的值。例如,给定一个数字8000
,结果应该是[7500, 10000]
。对于42000
,它应该是[40000, 50000]
。我想知道有没有一个简单的方法来做这件事。在
我的想法是创建一个有两个循环的函数,一个循环减少值-1,直到在列表中找到一个,另一个循环将值增加1,直到找到更高的匹配。这可能有用,但也许有更好的解决方案?在
Tags:
这是完美的一分为二()和左等分(). 在
下面是一些示例代码,您可以对其进行扩展:
这种技术很快,因为它使用二进制搜索(所以logN而不是N个查找)
您可以使用bisect模块。您可能需要调整示例以满足边界条件的需要。在
^{} 是为这样的搜索而构建的。在
相关问题 更多 >
编程相关推荐