Дано:
>>> import numpy as np
>>> LoL = [[2,4,1,6,3], [2,4,1,8,4], [6,5,4,3,2], [6,5,4,3,4], [1,2,3,4,5]]
>>> matrix=np.array(LoL)
>>> matrix
[[2 4 1 6 3]
[2 4 1 8 4]
[6 5 4 3 2]
[6 5 4 3 4]
[1 2 3 4 5]]
Вы можете сделать:
>>> np.argmax(np.bincount(matrix.flat))
4
Или,
u, c = np.unique(your_lst, return_counts=True)
u[c.argmax()]
# 4
Если вы хотите сделать это без numpy илиПри любом импорте для подсчета самой частой записи в списке списков вы можете использовать словарь для подсчета каждого элемента из генератора, который выравнивает ваш список списков:
cnts={}
for e in (x for sl in LoL for x in sl):
cnts[e]=cnts.get(e, 0)+1
Затем сортируйте по наиболее частым:
>>> sorted(cnts.items(), key=lambda t: t[1], reverse=True)
[(4, 7), (2, 4), (3, 4), (1, 3), (5, 3), (6, 3), (8, 1)]
Или просто используйте max
, если вы хотите только самое большое:
>>> max(cnts.items(), key=lambda t: t[1])