Подтвердить что ты не робот

Выделение элементов из списка 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).

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

4b9b3361

Ответ 1

[main_list[x] for x in indexes]

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

Ответ 2

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

Ответ 3

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

[e for i, e in enumerate(main_list) if i in indexes]

Ответ 4

map(lambda x:main_list[x],indexes)