Angenommen, Sie die folgende numpy Array haben,Pythonic Art und Weise Teil eines numpy Anordnung von Schneiden aus
>>> x = numpy.array([0,1,2,3,4,5,6,7,8,9,10])
und Sie wollen ein neues numpy Array extrahieren, die aus nur die ersten drei (3) und die letzten vier (4) Elemente, dh
>>> y = x[something]
>>> print y
[0 1 2 7 8 9 10]
Ist das möglich? Ich weiß, dass, um die ersten drei Zahlen zu extrahieren, Sie einfach tun x[:3]
und die letzten vier extrahieren Sie tun x[-4:]
, aber gibt es eine einfache Möglichkeit, all das in einem einfachen Stück zu extrahieren? Ich weiß, das durch getan werden kann, beispielsweise beiden Anrufe anhängen,
>>> y = numpy.append(x[:3],x[-4:])
aber ich frage mich, ob es ein einfacher kleiner Trick ist es in einer direkteren, pythonic Art und Weise zu tun, ohne x
wieder zu verweisen, die (dh ich dachte zuerst, dass vielleicht x[-4:3]
funktionieren könnte, aber ich erkannte sofort, dass es keinen Sinn ergab).
Die Frage ist ähnlich zu dieser, aber die vorgeschlagenen Lösungen dort wird nicht für neuere numpy Versionen funktionieren, so dass es wahrscheinlich nicht mehr relevant ist. Noch könnte interessant sein: http://stackoverflow.com/questions/13525266/multiple-slice-in-listing-for-numpy-array – Wolph