Скажем, ваша матрица - это двумерный список:
matrix = [[0, 2, 4],
[-1, 4, 2],
[3, 4, 2]]
, тогда вам просто нужно выполнить итерацию по нему:
def contains_1(matrix):
for row in matrix:
for element in row:
if element == 1:
return true
# if it gets through all of that without returning true
return false
Хотя это очень многословный способ сделать это -вот более питонический способ:
def contains_1(matrix):
return any([1 in row for row in matrix])
Эта однострочная строка состоит из трех частей:
1 in row
равно True
, если итеративный row
содержит элемент1
и False
в противном случае [1 in row for row in matrix]
выполняет выражение 1 in row
для каждого элемента row
в итерируемом matrix
и возвращает список результатов any()
принимает итеративный, как этот список, и возвращает True
, если какой-либо из его элементов верен;в противном случае он возвращает False
.
. Вы также можете легко расширить этот код для поиска любого элемента, а не только 1:
def contains_element(matrix, element):
return any(element in row for row in matrix)