数组搜索

收藏614

阅读2498

更新时间2025-08-12

搜索数组

您可以在数组中搜索特定值,并返回匹配的索引。

要搜索数组,请使用 where() 方法。

实例

查找值为 4 的索引:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 4, 4])

x = np.where(arr == 4)

print(x)

上面的示例将返回一个元组:(array([3, 5, 6],)

这意味着值 4 出现在索引 3、5 和 6 处。

实例

查找值为偶数的索引:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])

x = np.where(arr%2 == 0)

print(x)

实例

查找值为奇数的索引:

import numpy as np

arr = np.array([1, 2, 3, 4, 5, 6, 7, 8])

x = np.where(arr%2 == 1)

print(x)

搜索已排序

有一个名为 searchsorted() 的方法,它在数组中执行二分查找,并返回要插入指定值以保持搜索顺序的索引。

提示:searchsorted() 方法假定在已排序的数组上使用。

实例

查找应插入值 7 的索引:

import numpy as np

arr = np.array([6, 7, 8, 9])

x = np.searchsorted(arr, 7)

print(x)

示例解释:数字 7 应插入索引 1 以保持排序顺序。

该方法从左侧开始搜索,并返回数字 7 不再大于下一个值的第一个索引。

从右侧搜索

默认情况下返回最左边的索引,但我们可以给 side='right' 来返回最右边的索引。

实例

从右侧开始查找应插入值 7 的索引:

import numpy as np

arr = np.array([6, 7, 8, 9])

x = np.searchsorted(arr, 7, side='right')

print(x)

示例解释:数字 7 应插入索引 2 以保持排序顺序。

该方法从右侧开始搜索,并返回数字 7 不再小于下一个值的第一个索引。

多个值

要搜索多个值,请使用具有指定值的数组。

实例

查找应插入值 2、4 和 6 的索引:

import numpy as np

arr = np.array([1, 3, 5, 7])

x = np.searchsorted(arr, [2, 4, 6])

print(x)

返回值是一个数组:[1 2 3],包含三个索引,其中 2、4、6 将插入到原始数组中以保持顺序。

科技资讯

更多

精选课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

61.7万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

39.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

70.9万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

61.6万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

23万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

33.9万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号