Ausschneiden aus Liste/Vektor - zweiter Index
Verfasst: Donnerstag 20. Februar 2020, 14:51
Hallo:
Ich arbeite mich (wieder, nach längerer Zeit) in Python-3 ein.
Zu folgendem Code hätte ich keine Verständnisfrage, sondern eine Frage, WARUM man die Bedeutung des zweiten Index so seltsam gewählt hat:
Der Code:
x = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
y = x[3 : 6] # WARUM muss man hier einen um 1 höheren Wert angeben ???
print(x)
print(y)
Die Ausgabe:
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
['d', 'e', 'f']
1) Ich will die Buchstaben d, e und f ausschneiden und der Variablen y zuweisen.
2) Da die Indexzählung mit 0 beginnt, muss logischerweise der erste Index 3 lauten. Soweit so gut und alles klar.
3) ABER: Der Index für den Buchstaben f ist nun ja 5 (fünf). Im Code muss aber 6 angegeben werden. # Intuitiv hätte ich erwartet, [3 : 5] schreiben zu müssen.
Meine Gretchenfrage:
Weiß irgend Jemand, warum das in Python so (seltsam) implementiert wurde ???
Mir scheint das nicht besonders intuitiv zu sein (insbesondere, wenn ich es mit anderen Programmiersprachen vergleiche).
Die Implementierer müssen sich dabei ja irgend etwas gedacht haben - und das hätte ich gerne gewusst, welchen besonderen Zweck man damit erreichen wollte.
In Lehrbüchern findet man bei solchen Beispielen z.B. folgenden Code:
y = x[3:6] # Erster Index ist inklusive, zweiter Index ist exklusive zu verstehen.
Mit freundlichen Grüßen
kurt
# Würde mich über jede plausible Antwort freuen.
Ich arbeite mich (wieder, nach längerer Zeit) in Python-3 ein.
Zu folgendem Code hätte ich keine Verständnisfrage, sondern eine Frage, WARUM man die Bedeutung des zweiten Index so seltsam gewählt hat:
Der Code:
x = ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
y = x[3 : 6] # WARUM muss man hier einen um 1 höheren Wert angeben ???
print(x)
print(y)
Die Ausgabe:
['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h']
['d', 'e', 'f']
1) Ich will die Buchstaben d, e und f ausschneiden und der Variablen y zuweisen.
2) Da die Indexzählung mit 0 beginnt, muss logischerweise der erste Index 3 lauten. Soweit so gut und alles klar.
3) ABER: Der Index für den Buchstaben f ist nun ja 5 (fünf). Im Code muss aber 6 angegeben werden. # Intuitiv hätte ich erwartet, [3 : 5] schreiben zu müssen.
Meine Gretchenfrage:
Weiß irgend Jemand, warum das in Python so (seltsam) implementiert wurde ???
Mir scheint das nicht besonders intuitiv zu sein (insbesondere, wenn ich es mit anderen Programmiersprachen vergleiche).
Die Implementierer müssen sich dabei ja irgend etwas gedacht haben - und das hätte ich gerne gewusst, welchen besonderen Zweck man damit erreichen wollte.
In Lehrbüchern findet man bei solchen Beispielen z.B. folgenden Code:
y = x[3:6] # Erster Index ist inklusive, zweiter Index ist exklusive zu verstehen.
Mit freundlichen Grüßen
kurt
# Würde mich über jede plausible Antwort freuen.