Kann mir jemand diese Syntax erklären? Ich habe in docs/blogs gesucht, kann aber keine Erwähnung finden, Booleans als Indizes für das Array-Slicing zu verwenden. Ich fand diese Syntax in diesem Skript convert_base.py
:Array Slicing mit Booleans als Indizes
is_negative = num_as_string[0] == '-'
num_as_string[is_negative:]
Meine Vermutung ist, dass False 0 gegossen wird und Getreu 1. gegossen wird jemand sicher Kennt oder mich auf jede Dokumentation zeigen kann?
>>> a = [1,2,3]
>>> a[True:]
[2,3]
>>> a[False:]
[1,2,3]
>>> a[:False]
[]
>>> a[:True]
[1]
>>> a[False:True]
[1]
>>> a[True:True]
[]
>>> a[False:False]
[]
>>> a[True:False]
[]
>>> a[False::True+1]
[1,3]
Es ist am besten, nicht in Python zu "Casting" zu denken. Während der Begriff oft lose herumgeworfen wird, ist er in einer sehr dynamischen Sprache wie Python, wo alles ein Objekt ist, ziemlich bedeutungslos. –