Wie kann ich in Python effizient auf mehrere Listenelemente per Index zugreifen?

Susan Sarandon
Freigeben: 2024-11-21 04:24:17
Original
439 Leute haben es durchsucht

How to Efficiently Access Multiple List Elements by Index in Python?

Zugriff auf mehrere Listenelemente nach Index: Erkundung effizienter Lösungen

In Python kann die Auswahl bestimmter Elemente aus einer Liste basierend auf ihrem Index eine häufige Anforderung sein. Eine kürzlich gestellte Frage befasste sich mit diesem Szenario und präsentierte eine Liste von ganzen Zahlen a und eine Liste von Indizes b. Das Ziel bestand darin, eine neue Liste c zu erstellen, die Elemente von a enthält, die den Indizes in b entsprechen.

Die bereitgestellte Lösung nutzte ein Listenverständnis, das über die Indizes in b iteriert und die entsprechenden Elemente aus a auswählt:

a = [-2, 1, 5, 3, 8, 5, 6]
b = [1, 2, 5]
c = [a[i] for i in b]
Nach dem Login kopieren

Obwohl dieser Ansatz durchaus gültig ist, stellte sich die Frage, ob es effizientere Methoden gibt, um das Gewünschte zu erreichen Ergebnis.

Operator.itemgetter

Eine alternative Lösung beinhaltet die Verwendung der Funktion „operator.itemgetter“ aus dem Operatormodul von Python:

from operator import itemgetter 
a = [-2, 1, 5, 3, 8, 5, 6]
b = [1, 2, 5]
print(itemgetter(*b)(a))
Nach dem Login kopieren

Numpy Array Indexing

Für Fälle, in denen die Leistung entscheidend ist, NumPy bietet optimierte Array-Handhabungsfunktionen:

import numpy as np
a = np.array([-2, 1, 5, 3, 8, 5, 6])
b = [1, 2, 5]
print(list(a[b]))
Nach dem Login kopieren

Bewertung von Lösungen

Bemerkenswert ist, dass die ursprüngliche Lösung mit Listenverständnis weiterhin eine praktikable Option bleibt. Es ist prägnant und leicht verständlich. Die Itemgetter- und NumPy-Methoden bieten zwar potenzielle Leistungsvorteile, können jedoch für kleinere Listen oder Situationen, in denen die Geschwindigkeit weniger wichtig ist, übertrieben sein.

Letztendlich hängt die Wahl der zu verwendenden Methode von Faktoren wie der Größe ab der Liste und die spezifischen Leistungsanforderungen der Anwendung.

Das obige ist der detaillierte Inhalt vonWie kann ich in Python effizient auf mehrere Listenelemente per Index zugreifen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage