Чтение фрагмента из 6 уникальных символов в файле, сопоставление строки всех возможных 6-буквенных фрагментов уникальных символов с уникальным значением - PullRequest
0 голосов
/ 23 апреля 2020

Дан файл file.txt, состоящий из миллиардов символов.

Проблема:

Считайте файл и для каждого фрагмента 6 уникальных символов в файле и сопоставьте строку всех возможных 6 буквенных фрагментов уникальных символов с уникальным значение.

Вот мой код

with open("file.txt") as file1:
    string = ''.join(file1.readlines())
    unique_dict = {}
    i=0
    while i <= len(string)-6:
        if len(set(string[i:i+6])) == len(string[i:i+6]):
            if string[i:i+6] in unique_dict.values():
                pass
            else:
                unique_dict[i] = string[i:i+6]
            i = i+5
        i += 1
    print(unique_dict)

И file.txt содержит

abcdefghijkabcdef

Вместо миллиардов символов Я взял минимум символов для понимания цели.

Вот вывод:

{0: 'abcdef', 6: 'ghijka'}

Есть ли другой эффективный способ сделать это меньше сравнений?

...