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
Freigeben: 2024-11-14 15:09:02
Original
1093 Leute haben es durchsucht

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]
Nach dem Login kopieren

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)
Nach dem Login kopieren

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]
Nach dem Login kopieren

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!

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