Я пишу программу, которая читает несколько файлов, а затем индексирует термины в них. Я могу читать файлы в 2d массив (список) в Python, но затем мне нужно удалить дубликаты в первом столбце и сохранить индекс в новом столбце с первым появлением дублированного слова.
Например:
['when', 1]
['yes', 1]
['', 1]
['greg', 1]
['17', 1]
['when',2]
первый столбец - это термин, а второй - DocID, из которого он получен.
я хочу иметь возможность изменить это на:
['when', 1, 2]
['yes', 1]
['', 1]
['greg', 1]
['17', 1]
удаление дубликата.
Это то, что я имею до сих пор:
for j in range(0,len(index)):
for r in range(1,len(index)):
if index[j][0] == index[r][0]:
index[j].append(index[r][1])
index.remove(index[r])
я продолжаю получать ошибку вне диапазона в
if index[j][0] == index[r][0]:
и я думаю, что это потому, что я удаляю объект из индекса, поэтому он становится меньше. любые идеи будут высоко ценится
(и да, я знаю, что не должен изменять оригинал, но это всего лишь небольшая проверка)