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
Libérer: 2024-10-28 16:40:03
original
824 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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

<code class="python">import numpy as np
index_min = np.argmin(values)</code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!