リストとして返すように評価され、私が書いた:リストは、ブールが、私は、Python(3.6)に新たなんだ
はdef foo(alist, blist):
if alist or blist:
return alist or blist
print(foo([2], []))
[2]
を印刷しています。
と私は理解しようとしている:リストがif alist or blist
にTrue
\ False
に評価されていることのように思えるが、return alist or blist
には、リスト自体ではなくTrue
\ False
を返します。どのようだ?
alist or blist
は、2つの空でないリストに評価されますか?すべてのためのドキュメントのどこかに書かれたルールはありますか?
おかげ
と 'リターン連想リストやblist'で?それは空でないものに評価されますか? –
は、_non-empty_リストが真実であるということはそれ以上はありませんか?例えば、 'foo([2]、[4])'を呼んだ場合、 "空リストの振る舞い"はありません - 真理のために '[2]'が返されます – asongtoruin
'xがfalseならy、else x'それが '[2]' return - > 'else x'の理由です。もちろん、空ではないリストは* True * @asongtoruin – klashxx