不带numpython矩阵
矩阵=[1,2,3],[4,5,6],[1,0,9] 查找矩阵中最大元素的索引(列、行)。我不能用numpy。max()将不显示正确的位置。你有什么想法吗?我到处寻找答案 编辑: max()只标识最大的列表,在本例中为1。不带numpython矩阵,python,list,matrix,Python,List,Matrix,矩阵=[1,2,3],[4,5,6],[1,0,9] 查找矩阵中最大元素的索引(列、行)。我不能用numpy。max()将不显示正确的位置。你有什么想法吗?我到处寻找答案 编辑: max()只标识最大的列表,在本例中为1。 它不会比较每个列表中的元素以找到最大的元素您完全可以使用numpy来完成此操作 matrix = np.array([[1,2,3],[4,5,6],[1,0,9]]) print(matrix.max()) 输出: 9 #this is the max element i
它不会比较每个列表中的元素以找到最大的元素您完全可以使用numpy来完成此操作
matrix = np.array([[1,2,3],[4,5,6],[1,0,9]])
print(matrix.max())
输出:
9 #this is the max element in the array
[9]
要查找max元素的索引(行、列),请使用以下命令:
loc = np.where(matrix == matrix.max())
print(loc)
输出:
(array([2]), array([2]))
print(matrix[loc])
输出:
9 #this is the max element in the array
[9]
如果事实上您根本不想使用np…您可以这样做:
x = matrix[0][0]
id = [0,0]
for i in range(len(matrix)):
for j in range(len(matrix[0])):
if matrix[i][j] > x:
x = matrix[i][j]
id = [i,j]
print(id)
[2,2]
i指的是矩阵中的第i个列表,j指的是第i个列表中的第j个元素请按照您创建此帐户时建议的帮助文档中的过账指南操作,和在这里申请。StackOverflow不是设计、编码、研究或教程资源。然而,如果你遵循你在网上找到的任何资源,做出诚实的解决方案尝试,并遇到问题,你会有一个很好的例子来发布。我不能使用numpy来解决这个问题。这是问题的一个限制。不清楚这是否是问题的限制…你说你不能使用np.max,因为它不能按你想要的方式工作,我向你展示了np确实有效…如果你需要非np解决方案,你应该在你的帖子中澄清措辞如果矩阵只有负值怎么办?那么这将失败,并且不会返回任何内容。要修复此问题,请将x初始化为矩阵[0][0],而不是0,并将id初始化为[0,0]。如果矩阵[0][0]是最大值,那么它将给出正确的结果,如果不是,那么将在循环中找到真正的最大值及其位置。