Первый список: содержит индексы списка соответствующего названия категории
Второй список: содержит имена категорий в виде строки
Intervals=[[Indexes_Cat1],[Indexes_Cat2],[Indexes_Cat3], ...]
Category_Names=["cat1","cat2","cat3",...]
Желаемый выход:
list=["cat1", "cat1","cat2","cat3","cat3"]
где индексы любого элемента в выходном списке размещаются с использованием списка интервалов.
Ex1:
Intervals=[[0,4], [2,3] , [1,5]]
Category_Names=["a","b","c"]
Пример: Выход 1
["a","c","b","b","a","c"]
Редактировать: Больше вариантов запуска
Ex2:
Intervals=[[0,1], [2,3] , [4,5]]
Category_Names=["a","b","c"]
Пример: Выход2
["a","a","b","b","c","c"]
Ex3:
Intervals=[[3,4], [1,5] , [0,2]]
Category_Names=["a","b","c"]
Пример: Выход 3
["c","b","c","a","a","b"]
Мое решение:
Создать любой пустой массив размером n.
Запуск цикла for для каждой категории.
output=[""]*n
for i in range(len(Category_Names)):
for index in Intervals[I]:
output[index]=Categories[i]
Есть ли лучшее решение или более питонический способ? Спасибо