Maison  >  Article  >  développement back-end  >  Voici quelques options de titre, en gardant à l'esprit le format des questions et réponses et l'objectif de l'article : Direct et concis : * Comment trouver l'index de la valeur maximale ou minimale dans une liste Python ?

Voici quelques options de titre, en gardant à l'esprit le format des questions et réponses et l'objectif de l'article : Direct et concis : * Comment trouver l'index de la valeur maximale ou minimale dans une liste Python ?

DDD
DDDoriginal
2024-10-28 16:40:03815parcourir

Here are a few title options, keeping in mind the question-and-answer format and the article's focus:

Direct & Concise:

* How to Find the Index of the Maximum or Minimum Value in a Python List?
* Efficiently Obtaining the Index of the Max/Min Value in

Recherche de l'index de la valeur maximale ou minimale dans une liste à l'aide de max()/min()

Lors de l'utilisation de la fonction intégrée de Python max() et min() pour les algorithmes minimax, il devient nécessaire de récupérer l'index de l'élément max ou min renvoyé. Cela permet d'identifier le mouvement spécifique qui a produit la valeur souhaitée.

Code original :

<code class="python">for i in range(9):
    new_board = current_board.new_board_with_move([i / 3, i % 3], player)

    if new_board:
        temp = min_max(new_board, depth + 1, not is_min_level)  
        values.append(temp)

if is_min_level:
    return min(values)
else:
    return max(values)</code>

Solution :

Pour obtenir l'indice de la valeur min ou max, utilisez l'approche suivante :

<code class="python">import functools

index_min = min(range(len(values)), key=functools.cmp_to_key(lambda x, y: values[x] - values[y]))</code>

Alternativement, si l'utilisation de NumPy est réalisable :

<code class="python">import numpy as np
index_min = np.argmin(values)</code>

Résultats de référence :

Les résultats de référence suivants ont été obtenus sur une machine exécutant Python 2.7 :

[Image des résultats de référence comparant la solution Python pure (bleu), la solution NumPy (rouge) et itemgetter() -solution basée sur (noir)]

Conclusion :

La solution recommandée est celle qui ne nécessite pas l'importation de modules supplémentaires ni l'utilisation d'énumérations, car elle offre une vitesse supérieure dans la plupart des cas. Néanmoins, pour les grandes listes, une approche basée sur NumPy peut être optimale.

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