有人可以向我解釋這種語法嗎?我已經通過文檔/博客進行了搜索,但找不到任何使用布爾值作爲陣列切片索引的提及。我發現這句法在這個腳本convert_base.py
:以布爾值爲索引的數組切片
is_negative = num_as_string[0] == '-'
num_as_string[is_negative:]
我的猜測是假被強制轉換爲0,真正被強制轉換爲1。是否有人知道肯定或可能指向我的任何文件?
>>> 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]
最好不要用Python中的「cast」來思考。雖然這個術語通常是鬆散的,但在像Python這樣一個非常動態的語言中,一切都是對象,這是毫無意義的。 –