Вы можете создать такую структуру данных:
List<string> wordlist
Dictionary<string, int> tsildrow // for reverse lookup while building the structure
List<int> wordindex
wordlist
будет содержать список всех (уникальных) слов,
tsildrow
даст индекс слова в wordlist
, а wordindex
сообщит вам индекс в wordlist
определенного индекса в вашем тексте.
Вы будете действовать следующим образом:
for word in text:
if not word in tsildrow:
wordlist.append(word)
tsildrow.add(word, wordlist.last_index)
wordindex.append(tsildrow[word])
это заполняет вашу структуру данных. Теперь, чтобы найти слово по индексу 531467:
print wordlist[wordindex[531467]]
Вы можете воспроизвести весь текст так:
for index in wordindex:
print wordlist[index] + ' '
за исключением того, что у вас все еще будет проблема с пунктуацией и т. Д. *
если вы больше не будете добавлять слова (т. Е. Ваш текст стабилен), вы можете удалить tsildrow
, чтобы освободить часть памяти, если вас это беспокоит.