Ich habe eine regelmäßige list
namens a
, und ein NumPy Array von Indizes b
.
(Nein, es ist mir nicht möglich, a
zu einem NumPy Array zu konvertieren.)Slicing eine Python-Liste mit einem NumPy Array von Indizes - jeder schnelle Weg?
Gibt es für mich eine Möglichkeit, um die gleiche Wirkung wie „a[b]
“ effizient? Um klar zu sein, bedeutet dies, dass ich nicht jedes Individuum int
in b
aufgrund seiner Auswirkungen auf die Leistung extrahieren möchte.
(Ja, das ist ein Engpass in meinem Code. Deshalb habe ich NumPy Arrays bin mit zu beginnen.)
Ich weiß nicht, wie viel schneller (wenn überhaupt) 'operator.itemgetter()' wäre. –
Was ist dein Plan für (was wäre) 'a [b]'? Es ist schwer, sich einen Gebrauch dafür vorzustellen, der nicht "ein Individuum' int' für immer in 'b'" ... schließlich extrahiert. Wenn Sie daran interessiert sind, Speicherplatz zu verschwenden, indem Sie eine Liste und eine Unterliste gleichzeitig herumliegen haben, scheint es, dass Sie (oder was auch immer) zum Zeitpunkt der Notwendigkeit über "b" iterieren könnten, anstatt das (wäre) 'a [b] '. – jedwards
@jedwards: Mein Satz war ein wenig mehrdeutig (behoben), aber was ich sagte war, dass ich versuche, die einzelnen Elemente von 'b' zu entfernen (ich brauche es nicht und es verlangsamt meinen Code). Ich benutze die extrahierten Elemente von 'a' danach (z. B. schaue, welche' None' sind, etc ... es ist nicht wirklich relevant), aber das bedeutet kaum, dass ich 'b's Elemente manuell extrahieren muss . – Mehrdad