@beckmiller

Вывести номер строки, содержащей максимальное число одинаковых элементов. Как сделать?

Привет!
Дана матрица M x N. Вывести номер строки, содержащей максимальное число одинаковых элементов. Почему один раз выводит 0 потом ту строку которая надо. И как добавить else в случае нету повторяющие элементы. Не смог сделать это Дайте свои варианты пожалуйста
import random
n = int(input('Введите кол-во столбцов матрицы: '))
m = int(input('Введите кол-во строк матрицы: '))
matrix = [[random.randrange(0, 10) for y in range(n)] for x in range(m)]
print(matrix)
max_x = 0
for i in range(n):
    for j in range(m):
        if max_x < matrix[i].count(matrix[i][j]):
            print(matrix.index(matrix[i]))
            max_x = matrix[i].count(matrix[i][j])
        else:
            break
  • Вопрос задан
  • 120 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ScriptKiddo
import random
from collections import Counter
n = 5
m = 5
matrix = [[random.randrange(0, 10) for y in range(n)] for x in range(m)]
print(*matrix, sep='\n')
most_common = [(i, Counter(x).most_common(1)[0]) for i, x in enumerate(matrix, start=1)]
print('(row_number, (element, count))')
print(*sorted(most_common, key=lambda x: int(x[1][1]), reverse=True), sep='\n')
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
от 140 000 до 180 000 руб.
Mtrading Санкт-Петербург
от 2 000 до 3 000 usd.
23 марта 2019, в 23:45
5000 руб./за проект
23 марта 2019, в 23:33
800 руб./за проект
23 марта 2019, в 21:08
1500 руб./за проект