Ответ 1
[main_list[x] for x in indexes]
Это вернет список объектов, используя понимание списка.
Я уверен, что есть хороший способ сделать это на Python, но я довольно новичок в этом языке, поэтому простите меня, если это будет легко!
У меня есть список, и я бы хотел выделить определенные значения из этого списка. Значения, которые я хочу выделить, - это те, чьи индексы в списке указаны в другом списке.
Например:
indexes = [2, 4, 5]
main_list = [0, 1, 9, 3, 2, 6, 1, 9, 8]
вывод будет:
[9, 2, 6]
(т.е. элементы с индексами 2, 4 и 5 из main_list).
У меня такое чувство, что это можно сделать, используя что-то вроде понимания списков, но я не могу понять это (в частности, я не могу понять, как получить доступ к индексу элемента при использовании понимания списка).
[main_list[x] for x in indexes]
Это вернет список объектов, используя понимание списка.
t = []
for i in indexes:
t.append(main_list[i])
return t
Я думаю, что решение Yuval довольно простое и понятное. Но если вы действительно хотите понять один список строк:
[e for i, e in enumerate(main_list) if i in indexes]
map(lambda x:main_list[x],indexes)