【Python系列二】Numpy数组和List的元素查找
查找操作《目录》查找 Numpy 数组中满足一定条件的元素查找 Numpy 数组的最大值查找 List 的最大值(1) 在 Numpy 数组中查找符合一定条件的元素的索引,使用 np.argwhere(condition) 函数,返回值为满足条件的元素的坐标矩阵,shape 为 n*2,n 为满足条件的元素个数。# example>>> x = np.ar...
《目录》
- 查找 Numpy 数组中满足一定条件的元素
- 查找 Numpy 数组的最大值
- 查找 List 中的已知元素
- 查找 List 中的最大值
1. 查找数组中符合条件的元素索引
(1) 在 Numpy 数组中查找 符合一定条件的元素的索引,可使用 np.argwhere(condition)
函数,返回值为满足条件的元素的坐标矩阵,shape 为 n*2
,n 为满足条件的元素个数。具体例子见 case 1:
# case 1
>>> x = np.array([[1,2,3],[4,5,6]])
>>> x
array([[1, 2, 3],
[4, 5, 6]])
>>> np.argwhere(x > 3)
array([[1, 0],
[1, 1],
[1, 2]])
2. 查找数组元素最大值
在 Numpy 数组中查找最大值,可使用 np.max(arr)
和 np.argmax(arr)
函数,前者返回数组中的最大值,后者返回最大值元素的索引。另外,argmax()
可指定参数 axis = a
,代表按第 a 维查找最大值。
注意:np.argmax()
获取的索引不是数组元素所在的下标位置,而是一个标量索引值。当数组为一维向量时,下标从 0 开始进行查找;当数组为多维向量时,会从最内的维度向外遍历,索引也每次加 1,类似于先把数组拉成一维向量,再求索引值。具体例子见 case 2:
# case 2
>>> x = np.array([[1,2,3],[4,5,6]])
>>> x
array([[1, 2, 3],
[4, 5, 6]])
>>> np.max(x) # 查找数组最大值
6
>>> np.max(x, axis=0) # 查找数组每列最大值
array([4, 5, 6])
>>> np.max(x, axis=1) # 查找数组每行最大值
array([3, 6])
>>> np.argmax(x) # 最大元素的索引
5
3. 查找列表中已知元素的索引
list.index(value)
可用于查找列表中指定元素的索引。其中 list
为查找目标列表,value
为要查找的值,index
函数可返回查找值在列表中的索引位置。具体例子见 case 3:
# case 3
>>> a = [3, 7, 5, 4, 2]
>>> a.index(4)
3
4. 查找列表元素最大值
查找列表元素最大值有两种方法:
- 一是先对列表元素进行升序或降序排序,然后再取最后一个或第一个元素,即为列表中的最大值
- 二是可以直接使用
max()
方法进行求取
具体例子见 case 4:
# case 4
>>> list = [3,1,7,4,9,6]
>>> sorted(list)[-1]
9
>>> sorted(list, reverse=True)[0]
9
>>> max(list)
9
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)