Maison  >  Article  >  développement back-end  >  Comment trouver l'index de l'élément maximum ou minimum dans une liste Python ?

Comment trouver l'index de l'élément maximum ou minimum dans une liste Python ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-02 06:05:02465parcourir

How to Find the Index of the Maximum or Minimum Element in a Python List?

Indexation des éléments maximum et minimum dans les listes avec max() et min()

Lors de la mise en œuvre d'algorithmes comme minimax, déterminer l'index de l'élément maximum ou minimum dans un la liste est cruciale. Les fonctions max() et min() intégrées de Python fournissent ces valeurs, mais elles n'indiquent pas l'index correspondant.

Par exemple, pensez à trouver la valeur minimale et son index dans la liste valeurs = [3, 6, 1, 5]. L'utilisation de min(values) renvoie 1. Pour obtenir l'indice de cette valeur minimale, nous pouvons exploiter les techniques suivantes :

Méthode 1 : Utilisation de la fonction clé

<code class="python">values = [3, 6, 1, 5]
index_min = min(range(len(values)), key=values.__getitem__)</code>

Cette méthode consiste à créer un plage d'indices correspondant à la longueur des valeurs de la liste. À l'aide de la fonction key, nous spécifions que la sélection de la valeur minimale doit être basée sur l'élément à chaque index en valeurs. Le résultat, index_min, sera l'index de l'élément minimum.

Méthode 2 : Utiliser argmin() de Numpy (si numpy est disponible)

<code class="python">import numpy as np
values = [3, 6, 1, 5]
index_min = np.argmin(values)</code>

Si numpy est une dépendance disponible, nous pouvons utiliser argmin(), qui fournit directement l’index de la valeur minimale. Cependant, cela nécessite de convertir la liste Python en un tableau numpy, ce qui implique une copie de mémoire supplémentaire.

Considérations sur les performances

Les benchmarks ont montré que la méthode 1 utilisant la fonction key est généralement plus rapide que la méthode 2. avec argmin() de numpy, en particulier pour les petites listes. Cependant, pour les listes plus grandes, argmin() de numpy peut être plus efficace grâce à des calculs vectorisés optimisés.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn