4

次の Python スクリプトが返される理由を理解できる人はいますTrueか?

x = ''
y = all(i == ' ' for i in x)
print(y)

長さゼロのエンティティであることと関係があると思いますxが、完全には理解できません。

4

2 に答える 2

7

all()である要素がシーケンスにTrue ない限り、常に戻りますFalse

ループは 0 アイテムを生成するため、True返されます。

これは文書化されています:

iterableTrueのすべての要素が true の場合 (または iterable が empty の場合) を返します。

鉱山を強調します。

同様に、シーケンス内の要素が でない限りany()、は常にを返します。そのため、空のシーケンスの場合、デフォルトを返します。FalseTrueany()

>>> any(True for _ in '')
False
于 2013-10-08T20:35:55.150 に答える
1

ドキュメントに記載されているように、何をするかallは次のとおりです。

iterable のすべての要素が true の場合 (または iterable が空の場合)、True を返します。

于 2013-10-08T20:36:03.473 に答える