質問

次の点:

name = 'TODD'
chars = set('AEIOU')
for ii in range(-1, int(math.copysign(len(name) + 1, -1)), -1):
    if any((cc in chars) for cc in name[ii]):
        print 'Found'
    else:
        print 'Not Found'
.

私は、(...)内部のものが発電機オブジェクトであることを理解しています。理解していないのは括弧の不足です - 括弧がany()関数に属している場合は、ジェネレータ表現の周囲に別の括弧のセットがありませんか?

ありがとう。

役に立ちましたか?

解決

引数を1つだけ関数呼び出しで使用すると、Generator Expression Syntax は特にそれを可能にします。

引数が1つだけの呼び出しで除外することができます。section 詳細については

他のヒント

式がすでに括弧内の唯一のものである場合は、発電機式の括弧を除外することができます。 ドキュメント

引数が1つだけの呼び出しで省略できます。

いいえ、余分なペランは必要ありません、そして実際には常に「ブール式」に必要な「ブール式」に必要な2つの単純な例を参照してください。

In [37]: any(i > 10 for i in range(19))
Out[37]: True

In [38]: all(i > 10 for i in range(19))
Out[38]: False
.

あなたが持っているものは単一の引数(あなたの発電機式)での関数呼び出しであるため、いいえは不要です。詳細については、

For function calls with just one argument (that generator expression), they aren't required per the docs

The parentheses can be omitted on calls with only one argument. See section Calls for the detail.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top