2016-06-04 13 views
1

Wenn ich ein Array a habe, verstehe ich, wie Sie es auf verschiedene Arten schneiden. Insbesondere, um von einem beliebigen ersten Index zum Ende des Arrays zu schneiden, würde ich a[2:] tun.Erstellen eines Slice-Objekts in Python

Aber wie würde ich ein Slice-Objekt erstellen, um dasselbe zu erreichen? Die zwei Möglichkeiten zum Erstellen von Slice-Objekten, die documented sind, sind slice(start, stop, step) und slice(stop).

Also, wenn ich ein einzelnes Argument wie ich in a[2:] übergeben würde das slice Objekt würde es als den Stop-Index und nicht den Startindex interpretieren.

Frage: Wie übergebe ich einen Index an das slice Objekt mit einem Startindex und bekomme ein Scheibenobjekt, das den ganzen Weg bis zum Ende schneidet? Ich kenne die Gesamtgröße der Liste nicht.

+0

Was versuchen Sie zu schneiden? Sind Sie auf der Suche nach etwas wie http://stackoverflow.com/questions/2936863/python-implementing-slicing-in-getitem? – Jasper

Antwort

5

Verwenden None überall die Syntax-basierten slice einen Leerwert verwendet:

someseq[slice(2, None)] 

entspricht:

someseq[2:] 

Ähnlich someseq[:10:2] a vorkonstruierten slice definiert mit slice(None, 10, 2) verwenden usw.

Verwandte Themen