[Python-de] Index-Bereiche bei Slices
Christian Mönch
cristian at tm.informatik.uni-frankfurt.de
Mon Aug 16 10:56:39 CEST 2004
Hallo
Am Montag, 16. August 2004 10:25 schrieb Stefan Schwarzer:
>[...]
>
> Was ich meinte, ist: Warum bekommt der zweite Index eines Slice nicht
> den Index des betreffenden Elements aus der Liste, sondern muss um
> eins größer gewählt werden?
>
> Naheliegender(?) wäre doch:
>
> L = [34, 7, 19, 23]
> L[1] == 7 # stimmt in Python
> L[3] == 23 # stimmt in Python
> L[1:3] = [7, 19, 23] # stimmt _nicht_ in Python; L[1:3] ergibt [7, 19]
> ^ ^
> L[1] L[3]
>[...]
Ein Grund könnte sein, daß sich mit der in Python gewählten Konvention Slices
der Länge Null ziemlich natürlich darstellen lassen (und die können als
Abbruchkriterium für Iterationen sehr nützlich sein).
Insgesamt erscheint IMHO das Berechnen von Eigenschaften von Slices mit der
gewählten Konvention ziemlich natürlich. Z.B. gilt für die Länge eines Slice
(für positive Indizes und a <= b): len(l[a:b]) = b - a.
Grüße,
Christian