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