Heim >Backend-Entwicklung >Python-Tutorial >Wie extrahiere ich Elemente aus einer Liste basierend auf bekannten Indizes?

Wie extrahiere ich Elemente aus einer Liste basierend auf bekannten Indizes?

Barbara Streisand
Barbara StreisandOriginal
2024-11-14 15:09:021073Durchsuche

How to Extract Elements from a List Based on Known Indices?

Mehrere Elemente aus einer Liste basierend auf bekannten Indizes abrufen

Um bestimmte Elemente aus einer Liste mit Kenntnis ihrer Indizes zu extrahieren, können Sie Folgendes verwenden Methoden:

1. Listenverständnis:

Wie Sie bereits gezeigt haben, bieten Listenverständnisse eine prägnante Möglichkeit, Elemente anhand von Indizes zu extrahieren:

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

2. Operator.itemgetter:

Mit dem Itemgetter-Operator aus dem Operatormodul können Sie Elemente basierend auf einer Folge von Indizes abrufen:

from operator import itemgetter
a = [-2, 1, 5, 3, 8, 5, 6]
b = [1, 2, 5]
print(itemgetter(*b)(a))
# Result: (1, 5, 5)

3. Numpy (falls verfügbar):

Wenn Sie Numpy installiert haben, können Sie seine Array-Indizierungsfunktionen nutzen:

import numpy as np
a = np.array([-2, 1, 5, 3, 8, 5, 6])
b = [1, 2, 5]
print(list(a[b]))
# Result: [1, 5, 5]

Während alle drei Methoden die Aufgabe erfüllen können, ist das Listenverständnis wichtig Der Ansatz gilt im Allgemeinen als der lesbarste und prägnanteste. Wenn Sie jedoch Wert auf Geschwindigkeit oder Effizienz legen, bieten itemgetter oder Numpy möglicherweise eine bessere Leistung.

Das obige ist der detaillierte Inhalt vonWie extrahiere ich Elemente aus einer Liste basierend auf bekannten Indizes?. 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