«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как эффективно получить доступ к нескольким элементам списка по индексу?

Как эффективно получить доступ к нескольким элементам списка по индексу?

Опубликовано 18 ноября 2024 г.
Просматривать:363

How to Efficiently Access Multiple Elements from a List by Index?

Доступ к нескольким элементам списка по индексу

Выбор определенных элементов из списка на основе их индекса — обычная операция в программировании. В этом вопросе пользователь ищет оптимальный метод создания нового списка, содержащего элементы из заданного списка по заранее определенным индексам.

Подход пользователя, заключающийся в переборе индексов и индивидуальном доступе к каждому элементу, является простым решением. Однако существуют альтернативные подходы, которые могут быть более эффективными и краткими.

Один из предлагаемых альтернатив — использование функцииoperator.itemgetter. Эта функция принимает набор индексов в качестве аргументов и возвращает вызываемый объект, который можно применить к списку для получения соответствующих элементов. Например:

from operator import itemgetter 
a = [-2, 1, 5, 3, 8, 5, 6]
b = [1, 2, 5]
print(itemgetter(*b)(a))
# Result: (1, 5, 5)

Другая альтернатива предполагает использование библиотеки NumPy. NumPy предоставляет мощные операции с массивами, включая возможность доступа к элементам на основе индексов. Этого можно добиться, используя синтаксис a[b]:

import numpy as np
a = np.array([-2, 1, 5, 3, 8, 5, 6])
b = [1, 2, 5]
print(list(a[b]))
# Result: [1, 5, 5]

Стоит отметить, что текущее решение пользователя также является допустимым и разумным. Выбор между различными методами зависит от личных предпочтений и конкретного контекста, в котором они используются.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3