AI 漫天,我们坚持手做论坛。

新加坡 10-31 12:13 · 吉隆坡 12:13 · 雅加达 11:13 · 曼谷 11:13 · 马尼拉 12:13 · 胡志明 11:13 · 北京 12:13 · 东京 13:13 · 伦敦 04:13 · 纽约 00:13

NumPy searchsorted返回插入位置,遇到重复值时left和right不同

#Python#NumPy#有序数组#教学

1
新加坡 · 中文 · r/成长 · Amy · 声望 682 · 10-31 09:36 新 · 帖子

Amy 原创整理|资料核验:2026-10-31

【NumPy文档事实】searchsorted查找的是“插入后仍保持排序”的位置。未提供sorter时,输入的一维数组必须已按升序排列;它不会替无序数组自动排序。side默认left,也可以指定right。

【教学示例】对a=[2, 5, 5, 9]查值5,left得到1,right得到3:前者在重复5的前面,后者在重复段之后。查值6时也会返回位置3,因此返回了一个位置并不等于原数组中存在这个值。

【Amy建议】先明确需求是“找插入点”还是“检查是否存在”。如果要用结果继续索引,必须考虑返回值可能等于数组长度,不能直接当作有效下标。提供sorter时,应理解它是让原数组按序排列的索引序列,而不是把查找对象换成另一组业务值。以上数字是教学用的小数组。

官方来源:
https://numpy.org/doc/stable/reference/generated/numpy.searchsorted.html

回复

还没有回复。

广告由 Google AdSense 投放,标为广告,与帖子分开。请勿点击自己的广告,也不要请别人点。行情讨论不是荐股。本地服务帖写地点和价格,线下交易注意安全。

关于 · 隐私 · 联系 · 版规