python - 用于查找最大值的嵌套 For 循环
问题描述
我正在学习如何使用嵌套循环。我需要找到“nx n”矩阵的最大值的位置,并且我知道我需要包含一个条件语句,一旦最大值被确认,就停止嵌套的 for 循环。到目前为止,我设法编写了一个嵌套循环,该循环遍历矩阵的每一行和每一列以输出其最终位置。
为了找到矩阵的最大值,我知道一种可能的方法是使用:
max(sum(matrix, []))
但是,我不完全确定在哪里放置这个条件来返回我正在寻找的东西。
解决方案
当你这样做时for i in range(n)
,i
会在循环的每次迭代中自行增加。你不需要增加它。
以下是遍历矩阵的方法:
n = len(matrix)
for i in range(n):
for j in range(n):
print('position ({}, {}) in matrix: {}'.format(i, j, n[i][j]))
因此,要找到最大值的位置,您可以跟踪迄今为止看到的最大值以及该值的位置,如下所示:
n = len(matrix)
max_value = float('-inf')
max_position = None
for i in range(n):
for j in range(n):
value = n[i][j]
if value > max_value:
max_value = value
max_position = (i, j)
print('max value is {} at position ({}, {})'.format(
max_value,
max_position[0],
max_position[1]
))
推荐阅读
- android - 有没有办法在启用范围存储的 Android 中获得 100% 正确的文件扩展名?
- flutter - Flutter Dismissible 不再工作,但代码看起来正确
- python - Python Pandas:转换字典列表
- c++ - c ++ lambda在错误的地址/错误的上下文中执行
- c# - 发送到其他表单时丢失\n c#
- go - 如何在“go.mod”文件中为本地包提供版本号
- android - 为什么 Glide 不加载 Drawable asBitmap?
- python - 对独立于列的每行绝对值以及列名进行排序
- python - 我得到'int'对象不可下标
- java - java - 如何在java spring boot中使用可选作业参数运行作业