Вы можете использовать iter
, чтобы сделать это, если у вас text_list
столько же элементов, сколько sum(map(len, index_list))
text_list = ['this', 'is', 'my', 'text', 'and', 'it', 'should', 'be', 'awesome', '.']
index_list = [[1,2,3,4,5],[6,7,8],[9,10]]
text_list_iter = iter(text_list)
texts = [[next(text_list_iter) for _ in index] for index in index_list]
Вывод
[['this', 'is', 'my', 'text', 'and'], ['it', 'should', 'be'], ['awesome', '.']]
Но яне уверен, что это то, что вы хотели сделать.Может быть, я предполагаю какой-то порядок index_list.Другой ответ, который я могу придумать, - это понимание списка
texts_ = [[text_list[i-1] for i in l] for l in index_list]
Вывод
[['this', 'is', 'my', 'text', 'and'], ['it', 'should', 'be'], ['awesome', '.']]