Heim  >  Artikel  >  Backend-Entwicklung  >  Hier sind einige Titeloptionen unter Berücksichtigung des Frage-und-Antwort-Formats und des Schwerpunkts des Artikels: Direkt und prägnant: * Wie finde ich den Index des Maximal- oder Minimalwerts in einer Python-Liste?

Hier sind einige Titeloptionen unter Berücksichtigung des Frage-und-Antwort-Formats und des Schwerpunkts des Artikels: Direkt und prägnant: * Wie finde ich den Index des Maximal- oder Minimalwerts in einer Python-Liste?

DDD
DDDOriginal
2024-10-28 16:40:03815Durchsuche

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

Ermitteln des Index des Maximal- oder Minimalwerts in einer Liste mit max()/min()

Bei Verwendung der integrierten Python-Funktion Bei Verwendung der Funktionen max() und min() für Minimax-Algorithmen ist es erforderlich, den Index des zurückgegebenen Max- oder Min-Elements abzurufen. Dies ermöglicht die Identifizierung der spezifischen Bewegung, die den gewünschten Wert erzeugt hat.

Originalcode:

<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>

Lösung:

Um den Index des Min- oder Max-Werts zu erhalten, verwenden Sie den folgenden Ansatz:

<code class="python">import functools

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

Alternativ, wenn die Verwendung von NumPy möglich ist:

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

Benchmark-Ergebnisse:

Die folgenden Benchmark-Ergebnisse wurden auf einem Computer mit Python 2.7 erzielt:

[Bild der Benchmark-Ergebnisse beim Vergleich der reinen Python-Lösung (blau), der NumPy-Lösung (rot) und itemgetter() -basierte Lösung (schwarz)]

Schlussfolgerung:

Die empfohlene Lösung ist diejenige, die keinen Import zusätzlicher Module oder die Verwendung von Aufzählungen erfordert, da sie eine höhere Geschwindigkeit bietet in den meisten Fällen. Für große Listen kann jedoch ein NumPy-basierter Ansatz optimal sein.

Das obige ist der detaillierte Inhalt vonHier sind einige Titeloptionen unter Berücksichtigung des Frage-und-Antwort-Formats und des Schwerpunkts des Artikels: Direkt und prägnant: * Wie finde ich den Index des Maximal- oder Minimalwerts in einer Python-Liste?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn