- ベストアンサー
Pythonのリストで
Pythonのリストで質問があります list = [] if list and list[-1]: print("OK") if文をlist[-1]だけにするとindex out of rangeになるのに (これはわかります) if list and list[-1]:にするとIndexErrorにならないのでしょうか? プログラミング初心者です よろしくお願いします
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
andは2つの条件式が共にTrueの場合にTrueを、それ以外の場合にFalseを返します。 なので、1つ目の条件式がFalseだった場合、2つ目の条件式を評価する必要はなくなります。 なので、エラーにならないのです。 ちなみに、空のリストは条件式としてはFalseとして扱われます。 (下記URLの4.1参照) https://docs.python.jp/3/library/stdtypes.html
お礼
参考になりました。 ありがとうございました。