#python #python-3.x
#python #python-3.x
Вопрос:
У меня есть эта группа чисел:
a=[1,2,3,4,5,6]
и я сгруппировал их индексы следующим образом:
indices = [[0],[1,2],[3,4,5]]
Я хочу сгруппировать числа в списке ‘a’ так, как сгруппированы их индексы, чтобы получить что-то вроде этого:
b= [[1],[2,3],[4,5,6]]
Спасибо за вашу помощь!
Ответ №1:
Это должно сработать:
a = [1,2,3,4,5,6]
indices = [[0],[1,2],[3,4,5]]
result = [[a[index] for index in index_list] for index_list in indices]
Комментарии:
1. опереди меня на секунду, Джи Джи
Ответ №2:
Вы можете использовать функцию itemgetter()
:
from operator import itemgetter
a = [1,2,3,4,5,6]
indices = [[0],[1,2],[3,4,5]]
[list(itemgetter(*i)(a)) if len(i) > 1 else [itemgetter(*i)(a)]
for i in indices]
# [[1], [2, 3], [4, 5, 6]]