Индекс списка Python вне диапазона при выполнении обратного BWT
Я пытаюсь передать блоки текста в обратную функцию Burrows-Wheeler Transform из текстового файла, и я получаю индекс списка из ошибок диапазона, не знаю почему. Я читаю текстовый файл, к которому применен BWT, разбив его на блоки размера block_size
и хранить их в списке text
, Я тогда попробую позвонить inverse
на каждом элементе в text
,
def inverse(s):
L = [''] * block_size
for i in range(block_size):
L = sorted([s[i] + L[i] for i in range(block_size)])
with open(sys.argv[2], 'a') as output_file:
output_file.write([x for x in L if x.endswith('\0')][0][:-1])
with open(sys.argv[1], 'r') as input_file:
while block_size:
block = input_file.read(block_size)
if not block:
break
text.append(block)
for block in text:
inverse(block)
Если я вместо этого передать весь текстовый файл в inverse
не разбивая его, он работает нормально; но я хочу разбить мой текст на управляемые куски. Это мой text
список, который вызывает ошибку?