"鞍点"为矩阵中行元素中最大的值,并且列元素中最小的值。
a = [ [4, 5, 6, 3], [6, 9, 7, 1], [9, 8, 8, 0], [0, 1, 9, 4] ] hang = len(a) lie = len(a[0]) each_hang_max = [] each_hang_lie = [] for item in a: max_hang = item[0] max_hang_lie = 0 for j in range(len(item) - 1): if item[j] <= item[j + 1]: max_hang = item[j + 1] max_hang_lie = j + 1 each_hang_max.append(max_hang) each_hang_lie.append(max_hang_lie) # print(max_hang, max_hang_lie) # print(each_hang_max, each_hang_lie) each_min_lie = [] each_min_hang = [] for i in each_hang_lie: # print(i) min_lie = a[0][i] min_hang = 0 for j in range(lie - 1): # print(a[j][i]) if a[j][i] >= a[j + 1][i]: min_lie = a[j + 1][i] min_hang = j + 1 each_min_lie.append(min_lie) each_min_hang.append(min_hang) # print(min_lie) # print("*"*200) # print(each_min_lie) for i in range(len(each_hang_max)): if each_hang_max[i] == each_min_lie[i]: print(f"鞍点是{each_hang_max[i]},在矩阵中的位置是[{each_min_hang[i]}][{each_hang_lie[i]}]")