"Si un ouvrier veut bien faire son travail, il doit d'abord affûter ses outils." - Confucius, "Les Entretiens de Confucius. Lu Linggong"
Page de garde > La programmation > Comment accéder efficacement à plusieurs éléments d’une liste par index ?

Comment accéder efficacement à plusieurs éléments d’une liste par index ?

Publié le 2024-11-18
Parcourir:803

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

Accès à plusieurs éléments de liste par index

La sélection d'éléments spécifiques dans une liste en fonction de leur index est une opération courante en programmation. Dans cette question, un utilisateur recherche une méthode optimale pour créer une nouvelle liste contenant des éléments d'une liste donnée à des indices prédéfinis.

L'approche de l'utilisateur consistant à parcourir les indices et à accéder à chaque élément individuellement est une solution simple. Cependant, il existe des approches alternatives qui peuvent être plus efficaces ou plus concises.

Une alternative suggérée consiste à utiliser la fonction Operator.itemgetter. Cette fonction prend un ensemble d'indices comme arguments et renvoie un objet appelable qui peut être appliqué à une liste pour récupérer les éléments correspondants. Par exemple : 

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

Une autre alternative consiste à utiliser la bibliothèque NumPy. NumPy fournit de puissantes opérations sur les tableaux, notamment la possibilité d'accéder à des éléments basés sur des index. Ceci peut être réalisé en utilisant la syntaxe 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]

Il convient de noter que la solution actuelle de l'utilisateur est également valide et raisonnable. Le choix entre les différentes méthodes dépend des préférences personnelles et du contexte spécifique dans lequel elles sont utilisées.

Dernier tutoriel Plus>

Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.

Copyright© 2022 湘ICP备2022001581号-3