リスト内の要素が特定の基準を満たしているかどうかを知る必要があります。そのために、any() 関数内でジェネレーター式を使用したいのですが、出力が正しく動作しないようです。
>>> x
[0, 0, 0]
>>> gen = (z==1 for z in x)
>>> any(gen)
True
代わりにリストを使用すると、正しい答えが得られます。
>>> x
[0, 0, 0]
>>> com = [z==1 for z in x]
>>> any(com)
False
これを 2 つの異なる Windows 7 コンピューターで試しました。1 つは Python 2.7.2 で、もう 1 つは 2.7.3 です。どちらも間違った答えを返します。Python 2.7.5を搭載したマシンで誰かに試してもらい、正しい答えを得ました。ここで何が起こっているか知っている人はいますか?