Win10, Python 3.9.6
Здраствуйте, хочу чтобы код выводил дубликаты по тексту (например рандомный набор символов, который повторяется 2 и более раз), с маленьким количеством символов работает нормально, с большим (64 и более) отказывается. Что делать? Пробный файл прикрепляю
Здраствуйте, хочу чтобы код выводил дубликаты по тексту (например рандомный набор символов, который повторяется 2 и более раз), с маленьким количеством символов работает нормально, с большим (64 и более) отказывается. Что делать? Пробный файл прикрепляю
Python:
input_file = 'probny.txt'
output_file = 'duplicates.txt'
def read_lines(input_file):
with open(input_file, 'r') as file:
return file.read().splitlines()
def line_comb(st):
res = set()
n = len(st)
for i in range(n):
for j in range(i, n):
res.add(st[i: j+1])
return res
lines = read_lines(input_file)
result = line_comb(lines[0])
for i in range(1, len(lines)):
result &= line_comb(lines[i])
with open(output_file, 'w') as file:
for w in sorted(list(result), key=len, reverse=True):
print(w)
file.write(w+'\n')