Zugriff auf mehrere Listenelemente nach Index
Um bestimmte Elemente anhand ihrer Indizes aus einer Liste zu extrahieren, stehen verschiedene Ansätze zur Verfügung. Betrachten Sie das Beispiel des Extrahierens von Elementen mit den Indizes 1, 2 und 5 aus der Liste [-2, 1, 5, 3, 8, 5, 6].
Verwendung eines Listenverständnisses
Wie in der Frage gezeigt, kann ein Listenverständnis verwendet werden effektiv:
a = [-2, 1, 5, 3, 8, 5, 6] b = [1, 2, 5] c = [a[i] for i in b]
Dieser Ansatz iteriert effizient über die Indexliste b und extrahiert die entsprechenden Elemente aus Liste a.
Verwendung von „operator.itemgetter“
Pythons Funktion „operator.itemgetter“ bietet eine prägnante Darstellung Lösung:
from operator import itemgetter a = [-2, 1, 5, 3, 8, 5, 6] b = [1, 2, 5] print(itemgetter(*b)(a))
NumPy verwenden
Für diejenigen, die NumPy verwenden, bietet es einen alternativen Ansatz:
import numpy as np a = np.array([-2, 1, 5, 3, 8, 5, 6]) b = [1, 2, 5] print(list(a[b]))
Leistungsüberlegungen
Während die Wahl von Faktoren wie der Größe der Liste und der Häufigkeit ihrer Veröffentlichung abhängt Bei Verwendung ist das bereitgestellte Listenverständnis in der Regel für kleine Listen gut geeignet. Wenn die Liste jedoch groß ist oder häufig darauf zugegriffen wird, könnten Itemgetter oder NumPy aufgrund ihrer verbesserten Leistung vorzuziehen sein.
Das obige ist der detaillierte Inhalt vonWie extrahiert man effizient Elemente aus einer Liste basierend auf Indizes?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!