Обычно, если вы хотите выполнить рефакторинг, возьмите похожие фрагменты кода и превратите их в функции.Таким образом, у вас может быть функция для проверки всех ячеек, для которых один индекс (строка или столбец) одинаков, и другая функция, которая вызывает эту функцию для всех столбцов (или строк).Хотя, как отметил Пэр в комментарии к вашему вопросу, было бы намного легче помочь, если бы вы дали некоторую информацию о том, что вы пробовали.
Но ... другое отдельное (возможно, немного связанное)Дело в том, что ваш код не использует функциональные возможности Python.Это хорошо, но, как вы знаете, задачи, подобные этой, когда вам нужно проверить кучу различных элементов массива (на самом деле, списка), часто намного более кратки, когда написаны функционально.Например, ваш пример можно сделать так:
f = lambda x,y: x if x == y else False
# for Python <= 2.4 use this instead:
# f = lambda x,y: x == y and x or False
# test rows
[reduce(f,r) for r in array]
# test columns
reduce(lambda r,s: map(f,r,s), array)
, хотя это не очень полезно, если вы пытаетесь понять, как работает код.