1
我剛剛開始學習Python,並在解釋器中與in
運算符一起玩,並發現了一些有趣的東西。這是爲什麼False
:如果元組被描述爲序列類型,爲什麼長度爲1的元組被視爲標量?
# case 1
>>> [1] in [1,2,3]
False
但這些都是True
?
# case 2
>>> [1] in [[1],2,3]
True
# case 3
>>> (1) in [(1),2,3]
True
# case 4
>>> (1) in [1,2,3]
True
# case 5
>>> 1 in [(1),2,3]
True
我可以理解爲什麼#1 False
,因爲[1]
是一個列表對象,並沒有在列表中出現[1,2,3]
。我也得到爲什麼#2是True
。但是,如果元組是不可變的列表(如Norm Matloff在他的tutorial中描述的那樣)或者是不可變的序列(如TUPLES的Python文檔所述),爲什麼(1)
等於1
而不是[1]
?
好吧,這是非常有意義的,謝謝。 – scorpiodawg 2012-04-06 04:33:02