【问题标题】:unbelievable mistake of searchsorted command in pythonpython中searchsorted命令的令人难以置信的错误
【发布时间】:2021-11-15 09:11:09
【问题描述】:

命令如下

>>> s = np.array([1, 5, 2, 6, 1])
>>> s.searchsorted(3)

Python 响应如下

5

这个回答真的正确吗?

【问题讨论】:

  • s 必须排序。
  • 该函数的行为与记录的一样。从这个意义上说,它是正确的。
  • 谢谢,非常好。

标签: python arrays indexing command closest


【解决方案1】:

是的,searchsorted() 函数会找到可以插入元素以保持顺序的索引,因此函数返回的“5”意味着应该将“3”插入到位于的索引 5 中最后,因为数组s 没有任何特定顺序in the documentation 提到该函数使用二进制搜索,所以在第一步它将'3' 与s 中间的元素进行比较,所以因为2 s 的前半部分,假设s 是有序的,所以左边的数组是[6,1] 并且因为6

【讨论】:

  • 非常感谢您的完整和有用的回答。
猜你喜欢
  • 2019-06-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-05
  • 2013-01-06
  • 2016-12-10
  • 2013-10-10
相关资源
最近更新 更多