Я пытаюсь найти дубликаты в массиве, но я хочу игнорировать повторяющиеся нули.Проверка дубликатов в массиве при игнорировании нулей (Python)
Это мой код до сих пор, если кто-нибудь может сказать мне, где я ошибаюсь, что было бы здорово.
массив не имеет дубликатов в ней в этом вопросе, но когда я запускаю его и без дублей она всегда возвращает «Ошибка»
import sys
mat =[[0,5,0,0,0,0,0,0,0],[0,0,0,0,4,0,0,0,3],[0,1,0,0,9,2,6,0,0],[0,0,0,0,2,4,0,8,0], [0,0,7,0,0,0,0,6,0],[4,0,0,8,1,0,7,0,0],[0,0,1,4,0,7,0,5,6],[0,0,5,0,8,0,0,9,4],[0,0,0,0,0,0,8,0,0]]
def check_duplicate():
global mat
for row in mat:
for num in row:
if (num != 0):
ls = [num]
sort = sorted(ls)
if (sort != set(sort)):
sys.exit('Error')
Каков ожидаемый выход? – thefourtheye
Если есть дубликаты любых чисел, но 0, я хочу, чтобы программа остановилась. Если дубликатов нет, программа продолжается (sudoku solver) – user3029845
'sort' - это список, а' set (sort) '- это набор. Они никогда не будут равными. Кроме того, 'sort' и' set (sort) 'оба будут иметь единственный элемент' num' в них. – user2357112