Форум сайта python.su
Создать новый двумерный массив, исключив из переданного двумерного массива строки и столбцы, состоящие из одинаковых элементов (т.е. строка, состоящая, предположим, из одних единиц, не должна попасть в новый двумерный массив).
подскажите пожалуйста, уже очень долго сижу над этим таском и ни к чему не могу прийти
Офлайн
alinaaaaaaНадо разделить одно целое действие на несколько разных целых действий.
уже очень долго сижу над этим таском и ни к чему не могу прийти
>>> def are_duplicates(lst): ... e = lst[0] ... for i in lst: ... if i != e: ... return False ... return True ... >>> matrix = [ ... [1, 2, 1, 3], ... [1, 1, 1, 1], ... [4, 5, 1, 6], ... [7, 8, 1, 9] ... ] >>> >>> dup_rows = [i for i in range(len(matrix)) if are_duplicates(matrix[i])] >>> >>> dup_cols = [j for j in range(len(matrix[0])) ... if are_duplicates([matrix[i][j] for i in range(len(matrix))])] >>> >>> dup_rows [1] >>> >>> dup_cols [2] >>> >>> out = [] >>> for i in range(len(matrix)): ... if i in dup_rows: ... continue ... out.append([]) ... for j in range(len(matrix[0])): ... if j not in dup_cols: ... out[-1].append(matrix[i][j]) ... >>> out [[1, 2, 3], [4, 5, 6], [7, 8, 9]] >>>
Отредактировано py.user.next (Март 8, 2023 01:13:17)
Офлайн
py.user.next
Офлайн