こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

Pythonのリストで

Pythonのリストで質問があります

list = []
if list and list[-1]:
print("OK")

if文をlist[-1]だけにするとindex out of rangeになるのに
(これはわかります)

if list and list[-1]:にするとIndexErrorにならないのでしょうか?

プログラミング初心者です
よろしくお願いします

投稿日時 - 2017-11-25 16:19:48

QNo.9401180

困ってます

質問者が選んだベストアンサー

andは2つの条件式が共にTrueの場合にTrueを、それ以外の場合にFalseを返します。
なので、1つ目の条件式がFalseだった場合、2つ目の条件式を評価する必要はなくなります。
なので、エラーにならないのです。

ちなみに、空のリストは条件式としてはFalseとして扱われます。
(下記URLの4.1参照)
https://docs.python.jp/3/library/stdtypes.html

投稿日時 - 2017-11-28 10:03:20

お礼

参考になりました。
ありがとうございました。

投稿日時 - 2017-11-28 17:36:38

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問