"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como acessar com eficiência vários elementos de uma lista por índice?

Como acessar com eficiência vários elementos de uma lista por índice?

Publicado em 2024-11-18
Navegar:737

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

Acessando vários elementos de lista por índice

Selecionar elementos específicos de uma lista com base em seu índice é uma operação comum em programação. Nesta questão, um usuário busca um método ideal para criar uma nova lista contendo elementos de uma determinada lista em índices predefinidos.

A abordagem do usuário de iterar através dos índices e acessar cada elemento individualmente é uma solução direta. No entanto, existem abordagens alternativas que podem ser mais eficientes ou concisas.

Uma alternativa sugerida é usar a função operator.itemgetter. Esta função recebe um conjunto de índices como argumentos e retorna um objeto que pode ser chamado que pode ser aplicado a uma lista para recuperar os elementos correspondentes. Por exemplo:

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

Outra alternativa envolve o uso da biblioteca NumPy. NumPy fornece operações poderosas de array, incluindo a capacidade de acessar elementos baseados em índices. Isso pode ser conseguido usando a sintaxe 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]

Vale ressaltar que a solução atual do usuário também é válida e razoável. A escolha entre diferentes métodos depende das preferências pessoais e do contexto específico em que estão sendo utilizados.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3