3
all()演算子を理解すると、すべての要素がtrueの値を返した場合、trueを返すことです。それが完全に機能していると誤解しているか、次のようなものがあります。Python all([6,7,8,9])= Trueです。しかし6 = False
>>> all([0, 7, 8, 9])
False
>>> all([6, 7, 8, 9])
True
>>> any([0, 7, 8, 9])
True
>>> 0 == True
False
>>> 1 == True
True
>>> 6 == True
False
>>> 7 == True
False
これは何ですか?
編集 さて、0が偽であることを説明する多くの回答があります。私はそれを得る。 0 =偽、1 =真。 私の問題は、6がFalseとして返されますが、リストの一部としてテストされたときに真として返されるということですか?
>>> all([6, 7, 8, 9])
True
>>> 6 == True
False
これは私が取得できないビットですか?
は '' BOOL(6)を参照します。 –
TrueとFalseは0と1の序数の値を持ちます。したがって、その動作。 boolと解釈したい場合は、を使用します。 'bool(6)' –
これはあまりにも急に閉鎖されたように私に見えます。あなたが本当に求めていることは、 '6'と' 7'が 'False'と思われるので、なぜ2番目の式が' True'なのか?そうであれば、答えは、0でない整数はブール値コンテキストでは 'True'と評価されます。 '6 == True'をテストすると、整数はブール型に強制されないので、効果的に' 6 == 1'をテストしています。これは 'False'です。 –