В Python вы можете разрезать список, используя другой список индексов. Вот несколько способов добиться этого:
-
Построение списка:
Вы можете использовать понимание списка для создания нового списка, содержащего нарезанные элементы, на основе предоставленных индексов. Вот пример:my_list = ['a', 'b', 'c', 'd', 'e', 'f'] indices = [0, 2, 4] sliced_list = [my_list[i] for i in indices] print(sliced_list)
Выход:
['a', 'c', 'e']
-
Карта и Operation.itemgetter:
Вы можете использовать функциюmap
вместе сoperator.itemgetter
для извлечения элементов на основе индексов. Вот пример:import operator my_list = ['a', 'b', 'c', 'd', 'e', 'f'] indices = [0, 2, 4] sliced_list = list(map(operator.itemgetter(*indices), [my_list] * len(indices))) print(sliced_list)
Выход:
['a', 'c', 'e']
-
NumPy:
Если у вас установлен NumPy, вы можете использовать функциюnumpy.take
для извлечения элементов из списка на основе индексов. Вот пример:import numpy as np my_list = ['a', 'b', 'c', 'd', 'e', 'f'] indices = [0, 2, 4] sliced_list = np.take(my_list, indices) print(sliced_list)
Выход:
['a', 'c', 'e']