![](https://secure.gravatar.com/avatar/096c2c331fa0c946d103e9038930f80e.jpg?s=120&d=mm&r=g)
Hi,
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]
das ist nicht naheliegender, sondern nur die Vorstellung die du im Kopf hast, weil du's evtl. so gewohnt bist. Die Frage läßt sich erstmal reduzieren auf: Ist es ein geschlossenes oder halboffenes Intervall. Bei Python hat man sich für halboffen entschieden. Richtig und falsch in dem Sinne gibt's da nicht, aber ich schätze der Grund ist Code, der besser lesbar ist - wofür Python ja bekannt ist. In C++ zeigen Iterator aus der STL am Schluß auch hinter das letzte Element. Damit lassen sich viele Algorithmen besser schreiben. X = L[0:len(L)] # würdest du hier gerne len(L)-1 schreiben? X = L[0:2] + L[2:len(L)] # finde ich sauber als [0:2]+[3:len(L)] Kann natürlich sein, daß ich C++ 'geschädigt' bin, was ich aber nicht schlecht finde! ;-) Gruß, Achim _______________________________________________ python-de maillist - python-de@python.net http://python.net/mailman/listinfo/python-de