小编典典

python中的searchsort如何工作?

python

为了让我的问题更清楚地说,如果我有一个数组Out
[123]:[1、3、4、6、9、10、54]当我尝试搜索列表中的数字时,searchsort返回正确的值,但是当我尝试了不在列表中的内容,它返回了一个荒谬的值

这是一些结果

In [131]: a
Out[131]: [1, 3, 4, 6, 9, 10, 54]

In [132]: searchsorted(a,1)
Out[132]: 0

In [133]: searchsorted(a,6)
Out[133]: 3

In [134]: searchsorted(a,[9,54,1])
Out[134]: array([4, 6, 0])

In [135]: searchsorted(a,[9,54,1,0])
Out[135]: array([4, 6, 0, 0])
***> # here 0 is not in the list, but turns up @ position 0***

In [136]: searchsorted(a,740)
Out[136]: 7
***> # here 0 is not in the list, but turns up @ position 7***

为什么会这样呢?


阅读 223

收藏
2021-01-20

共1个答案

小编典典

searchsorted告诉你 其中 的元素属于保证排序:

将索引查找到排序数组a中, 这样,如果v中的相应元素在索引之前插入,则将保留a的顺序。

插入740位置7将保留顺序,就像在位置0插入0一样。

2021-01-20