【Python系列二】Numpy数组和List的元素查找

您所在的位置:网站首页 python循环数组里的数 【Python系列二】Numpy数组和List的元素查找

【Python系列二】Numpy数组和List的元素查找

2024-07-12 17:19| 来源: 网络整理| 查看: 265

《目录》

查找 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


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3