У меня проблема с моим кодом, так как он не будет выполнен и отображает сообщение TypeError
в формате: list indices must be integers or slices, not list
.
Я считаю, что моя функция слияния работает, но я не совсем уверен. Я полагаю, что проблема связана с той частью кода, где я пытаюсь прочитать файл, содержащий списки несортированных чисел.
with open(filelocation) as fl:
line = fl.readline()
while line:
line = line.split()
for i in range(1, len(line)):
# converting read elements into integer values for sorting
line[i] = int(line[i])
input.append(line)
line = fl.readline()
with open('merge3.txt', 'w') as f:
for i in input:
mergeSort3(input[i], 0, 1 / 3 * len(input), 2 / 3 * len(input), len(input), input())
print(input)
Ошибка появляется в последних 2 строках код, или, скорее, оператор mergeSort3
, когда я вызываю параметры моей начальной функции: def mergeSort3(arr1, low, mid1, mid2, high, arr2)
. Я также пишу свой код в Python, хотя это, вероятно, не проблема. Любая помощь приветствуется!
По сути, я ожидаю, что я смогу открыть файл data.txt и прочитать каждое из значений, а затем отсортировать эти данные с помощью сортировки слиянием / 3 (разделив массивы на трети) и запишите эти данные в новый текстовый файл с именем merge3.txt.