[Python-de] Index-Bereiche bei Slices

Joachim Saul list at jsaul.de
Mon Aug 16 08:17:37 CEST 2004


* daniel.poelzleithner [2004-08-16 02:42]:
> Stefan Schwarzer wrote:
>
> | Das erklärt ja durchaus, wie man sich das tatsächlich in Python
> | verwendete Slicing erklären kann. Worauf ich aber eher abzielte bzw.
> | abzielen wollte: _Warum_ wurde die Konvention so gewählt? (Und nicht:
> | Wie kann man die Konvention _im nachhinein_ erklären?)
>
> Weil die Null in der religionslosen Computerwelt als Zahl akzeptiert
> ist, und somit unser Zahlensystem bei 0 anfängt, und nicht bei 1.

Es gibt nicht "die Konvention", sondern es gibt durchaus auch
"Computerwelten", in denen die Indices mit 1 beginnen, z.B. in
Fortran. Mit allerlei Konsequenzen für die Zusammenarbeit von
Fortran- und C-Code.

Ein Vorteil von 0...n-1 ist schlicht und ergreifend, dass es die
Berechnung der Speicheradresse eines Array-Elementes erleichtert,
da im Speicher der Versatz des ersten Elementes zum Beginn eines
Arrays nämlich null ist.

Joachim