使用numpy库中的函数和数组操作来代替循环实现该功能。 例如:
import numpy as np
arr = np.array([[5,1,4],[7,8,1],[2,3,9]])
row, col = arr.shape
result = np.zeros((row, col))
#先将所有元素初始化为False mask = np.zeros((row, col), dtype=bool)
#将所有A[i]>A[j]的位置设为True mask[arr[:,np.newaxis,:] > arr] = True
#通过sum()函数计算每行中为True的元素个数 result = mask.sum(axis=1)
print(result)
输出结果为:[2 2 0]
输出结果表示第一行两个元素小于其他元素,第二行两个元素小于其他元素,第三行没有元素小于其他元素。