手册目录

Python 教程

浏览2976
更新时间2025-08-06

搜索数组

您可以在数组中搜索(检索)某个值,然后返回获得匹配的索引。

要搜索数组,请使用 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)

运行实例

例子解释:应该在索引 1 上插入数字 7,以保持排序顺序。

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

从右侧搜索

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

实例

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

import numpy as np

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

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

print(x)

运行实例

例子解释:应该在索引 2 上插入数字 7,以保持排序顺序。

该方法从右边开始搜索,并返回第一个索引,其中数字 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 以维持顺序。

相关视频

更多

免费

php8,我来也
初级php8,我来也

321849次学习

收藏

免费

Thinkphp6.0正式版视频教程
中级Thinkphp6.0正式版视频教程

382470次学习

收藏

免费

细说PHP第一季
中级细说PHP第一季

282865次学习

收藏

免费

简单聊聊PHP创业那点事
初级简单聊聊PHP创业那点事

13418次学习

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

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