php 索引取最大值,二元数组获取最大值,通过最大值的获取索引位置

二元数组获取最大值,通过最大值的获取索引位置

Mkdir700 • 2019 年 11 月 17 日

Loading...

现有一个二维数组

a = [[1,2,3],

[4,5,6],

[2,8,9]]

很明显,一看,最大值是`9`,索引 `a[2][1]`

## 二维数组获取最大值 ##

通过代码先来说下,如何从二维数组中获取最大值

可以通过循环嵌套,然后在其中进行比较获得最大值

python中可以,使用`max()`获取最大值

max(a)

这里获取到值是 `[4,5,6]`

![QQ截图20191117202607.png][2]

这里我们可以看到,这里其实比较的是,每个子数组的第一个值, 1 4 2,4是最大值,则返回4所在的那个子数组。

max(max(a))

而这获取到的是单个最大值,可以理解为,先从二维数组中获取一个子数组,然后再从这个子数组中获取最大值

![QQ截图20191117202955.png][3]

上方获取到的最大值,并不是二维数组中最大的值,那么如何获取整个二维数组中的最大值呢?

max(map(max, a))

![QQ截图20191117203143.png][4]

## 二维数组最大值的位置 ##

假如现在我们只知道`a`中的最大值是 9, 那么如何知道这个 9 的具体位置呢?

不导入第三方模块的情况下,我想是通过循环嵌套来完成了,我百度了一圈,也没找到其他方法

```python

def max_value_position(max, a):

for i in range(len(a)):

for j in range(len(a[i])):

if a[i][j] == max:

return (i, j)

```

通过上方的函数,我们就可以找到 9 的具体位置了,如果存在两个最大值(两值相等)。则会返回先出现的那个最大值的位置。

还有没有其他的二维数组,通过最大值查找其索引的方法,还得继续了解了解。毕竟二维数组循环嵌套耗时费力。

[1]: http://assets.z2blog.com/usr/uploads/2019/11/1229351404.png

[2]: http://assets.z2blog.com/usr/uploads/2019/11/3996693961.png

[3]: http://assets.z2blog.com/usr/uploads/2019/11/1229351404.png

[4]: http://assets.z2blog.com/usr/uploads/2019/11/28354161.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值