У меня есть такой большой текстовый файл (без пробела между словами, но каждое слово в каждой строке):
this
is
my
text
and
it
should
be
awesome
.
А еще у меня есть такой список:
index_list = [[1,2,3,4,5],[6,7,8][9,10]]
Теперь я хочу заменить каждый элемент каждого списка соответствующей строкой индекса моего текстового файла, поэтому ожидаемый ответ будет таким:
new_list = [[this, is, my, text, and],[it, should, be],[awesome, .]
Я попробовал неприятный обходной путь с двумя циклами for с функцией диапазона, которая была слишком сложной (так я думал). Затем я попробовал это с linecache.getline
, но это также имеет некоторые проблемы:
import linecache
new_list = []
for l in index_list:
for j in l:
new_list.append(linecache.getline('text_list', j))
Это создает только один большой список, который мне не нужен. Кроме того, после каждого слова я получаю плохой \n
, которого я не получаю, когда открываю файл с помощью b = open('text_list', 'r').read.splitlines()
, но я не знаю, как реализовать это в моей функции замены (или, скорее, создать), поэтому я не получаю [['this\n' ,'is\n' , etc...