Попробуйте использовать sum
с zip
:
print(sum(zip(main_list[::2], main_list[1::2], aux_list), ()))
Вывод:
('lst1', 'lst2', 'ax1', 'lst3', 'lst4', 'ax2', 'lst5', 'lst6', 'ax3')
Если вы хотите, чтобы результат был списком, используйте:
print(list(sum(zip(main_list[::2], main_list[1::2], aux_list), ())))
Вывод:
['lst1', 'lst2', 'ax1', 'lst3', 'lst4', 'ax2', 'lst5', 'lst6', 'ax3']
Редактировать:
Используйте это, если хотите, чтобы он работал для всех различных длин:
print(sum(zip(*[main_list[i::len(main_list) // len(aux_list)] for i in range(len(main_list) // len(aux_list))], aux_list), ()))
Выходные данные:
('lst1', 'lst2', 'ax1', 'lst3', 'lst4', 'ax2', 'lst5', 'lst6', 'ax3', 'lst7', 'lst8', 'ax4')
Опять же, если вы хотите, чтобы результат был списком, используйте:
print(list(sum(zip(*[main_list[i::len(main_list) // len(aux_list)] for i in range(len(main_list) // len(aux_list))], aux_list), ())))