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 différentes méthodes dépend des préférences personnelles et du contexte spécifique dans lequel elles sont utilisées.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!