Выделение элементов из списка python с определенными индексами

Я уверен, что есть хороший способ сделать это в Python, но я довольно новичок в этом языке, поэтому, простите меня, если это просто!

У меня есть список, и я хотел бы выделить определенные значения из этого списка. Значения, которые я хочу выделить, – это те, чьи индексы в списке указаны в другом списке.

Например:

indexes = [2, 4, 5] main_list = [0, 1, 9, 3, 2, 6, 1, 9, 8] 

выход будет:

 [9, 2, 6] 

(т. е. элементы с индексами 2, 4 и 5 из main_list).

У меня такое чувство, что это можно сделать, используя что-то вроде понимания списков, но я не могу понять это (в частности, я не могу понять, как получить доступ к индексу элемента при использовании понимания списка).

4 Solutions collect form web for “Выделение элементов из списка python с определенными индексами”

 [main_list[x] for x in indexes] 

Это вернет список объектов, используя понимание списка.

 t = [] for i in indexes: t.append(main_list[i]) return t 

Я думаю, решение Yuval A довольно ясное и простое. Но если вы действительно хотите понять однострочный список:

 [e for i, e in enumerate(main_list) if i in indexes] 
 map(lambda x:main_list[x],indexes) 
  • Как получить значение индекса для понимания списка?
  • Использование определения списка для соответствия значениям словарей, которые хранятся в списках
  • Элегантный способ удаления элементов в списке, которые не имеют подстрок, которые отображаются в другом списке
  • Python - поиск инкрементных нумерованных последовательностей с пониманием списка
  • Python, работающий со списком
  • Элементы sum в списке python только в том случае, если элементы в отдельном булевом списке True
  • Ошибка синтаксиса Python - In и Not In List
  • если еще в понимании списка
  • Python - лучший язык программирования в мире.