我有一个二维列表。我通过将a11与b11和c11进行比较来找到最大值,依此类推。例如,
[[2,3,4,5],[3,4,1,6],[7,1,2,10]]
输出如下:
[[7,4,4,10]]
现在,我希望每个最大值的索引为: [[c11,b12,a13,c14]]
我的原始代码是:
img = [cv2.imread(file,0) for file in glob.glob("resized/*.jpg")]
X=[]
for im in img:
arr = np.asarray(im)
arr = np.split(arr, 20)
arr = np.array([np.split(x, 20, 1) for x in arr])
mat = [arr[i][j].mean() for i in range(20) for j in range(20)]
X.append(mat)
a = max(X, key=lambda item: item[0])
对于[[2,3,4,5],[3,4,1,6],[7,1,2,10]]的输入,如果要查找[7,4,4 ,10](基本上由2D数组的相应列的最大值组成),可以通过以下方式完成:
a = [[2,3,4,5],[3,4,1,6],[7,1,2,10]]
tr_a = list(zip(*a))
result = [(row.index(max(row)),index) for index, row in enumerate(tr_a)]
print(result)
执行:
>>> a = [[2,3,4,5],[3,4,1,6],[7,1,2,10]]
>>> tr_a = list(zip(*a))
>>> result = [(row.index(max(row)),index) for index, row in enumerate(tr_a)]
>>> print(result)
[(2, 0), (1, 1), (0, 2), (2, 3)]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句