1

次のような外観があります。

yyy=[(2.0, 3.4, 3.75), (2.0, 3.4, 0.0), (2.0, 3.4, 0.0), (2.0, 3.4, 3.5), (2.0, 3.4, 0.0)]

私がやりたいのは、サブリストのいずれかに 0.0 が存在するかどうか (true または false) を識別することです。ということで itertools を踏襲しているのですが、ロジックをどのように構築すればよいのかわかりません。

from itertools import *
selectors = [x is 0 for x in yyy]
#[False, False, False, False, False]

明らかに、私の上記の構文は正しくないようです - 誰かが構文の正しい方向に私を向けることができるかどうか疑問に思っていました.

4

2 に答える 2

5

試す [0.0 in x for x in yyy]

>>> yyy=[(2.0, 3.4, 3.75), (2.0, 3.4, 0.0), (2.0, 3.4, 0.0), (2.0, 3.4, 3.5), (2.0, 3.4, 0.0)]
>>> [0.0 in x for x in yyy]
[False, True, True, False, True]
>>> 

あなたは近かった。

于 2013-03-09T20:15:07.160 に答える
1

ただどうですか:

any(0.0 in subtup for subtup in yyy)

デモ:

>>> yyy=[(2.0, 3.4, 3.75), (2.0, 3.4, 0.0), (2.0, 3.4, 0.0), (2.0, 3.4, 3.5), (2.0, 3.4, 0.0)]
>>> any(0.0 in subtup for subtup in yyy)
True
>>> yyy=[(2.0, 3.4, 3.75), (2.0, 3.4, 10.0), (2.0, 3.4, 10.0), (2.0, 3.4, 3.5), (2.0, 3.4,10.0)]
>>> any(0.0 in subtup for subtup in yyy)
False
于 2013-03-09T20:14:05.913 に答える