2024-04-26 01:29:52 发布
网友
我正在写一个程序来过滤坐标,并根据随机数据和不断变化的数据来确定坐标是否是一个安全的位置。如果y位置已经在列表中,那么我当前将递增1并移动到下一个位置。你知道吗
例如,我想知道你有:
a = [1,3,5,6,2] y = 2
有没有办法返回下一个不在列表中的最大整数。例如,在上面的例子中,它将返回4。如果是这样的话,这会比每次增加一个更快。感谢您的帮助。你知道吗
如果对列表进行排序,可以使用二进制搜索快速获得答案。bisect_right函数将返回您要查找的数字的索引,或者len(a)如果该数字是列表中最大的>=。你知道吗
bisect_right
len(a)
>=
>>> a.sort() >>> a [1, 2, 3, 5, 6] >>> import bisect >>> bisect.bisect_right(a, 2) 2 >>> bisect.bisect_right(a, 4) 3 >>> bisect.bisect_right(a, 7) 5
如果对列表进行排序,可以使用二进制搜索快速获得答案。
bisect_right
函数将返回您要查找的数字的索引,或者len(a)
如果该数字是列表中最大的>=
。你知道吗相关问题 更多 >
编程相关推荐