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]
がリストオブジェクトであり、それはリスト[1,2,3]
では発生しないので、#1は、False
である理由私は理解することができます。私はまた#2がTrue
である理由を得る。しかし、タプルが不変なリスト(Norm Matloffの場合はtutorialに記述されている)または不変なシーケンス(TUPLESのPythonドキュメントに記載されているように)の場合、(1)
は[1]
の代わりに1
となります。
これは完璧な感謝、おかげです。 – scorpiodawg