Скажем, я создал простое l oop в Python, которое производит матрицы x, y = 10x10, с каждой позицией случайным целым числом от 1 до 4 (с использованием некоторого rng). В l oop каждый раз, когда создается матрица, код проверяет все ранее сохраненные матрицы на уникальность: если для некоторой ранее сохраненной матрицы все позиции имеют равные значения, матрица отбрасывается, но если любое значение отличается (сравнение все ранее сохраненные матрицы) матрица сохраняется, и l oop продолжается.
Что я хочу выяснить, так это в среднем после того, как через много итераций будет получена равная матрица в порядке эксперимента. Как вы, возможно, можете себе представить, это может занять некоторое время: проблема, с которой я сталкиваюсь, заключается в том, что код становится все более медленным после того, как было создано несколько сотен матриц. Я бы хотел, чтобы go быстрее:)
Код функции, который я использую для определения уникальности
def Unique(A,B):
for i in range(x):
for j in range(y):
if (A[i][j] != B[i][j]):
return 0
return 1
, и именно так я получаю доступ и читаю файлы
book2 = xlrd.open_workbook('Matrix_'+str(a)+'.xlsx')
sheet2 = book2.sheet_by_name('Sheet1')
data2 = [[sheet2.cell_value(row, column) for column in range(sheet2.ncols)] for row in
range(sheet2.nrows)]
data2 = np.array(data2)
У меня такое чувство, что, вероятно, это можно сделать гораздо эффективнее, но я мог бы помочь с этим, заранее спасибо!