2012-02-14 12 views

答えて

4

any(3 in t or 7 in t for t in a) 
+0

おそらくこれは明確であってもよいです。 'any(setOfTuplのtupのための3 in tup es) ' – ninjagecko

+0

+1非常にクリア。 @ninjageckoはNameErrorを与えるだけです;-) –

+0

@ChrisWesseling:yes、明らかに=)読者は 'setOfTuples'が明らかに' a'であることを認識していると仮定しました – ninjagecko

1
for tuple in a: 
    for value in tuple: 
     if value in [3, 7]: 
      print 'found' 
2
a = set([(1,2),(3,4),(5,6)]) 
b = set((3,7)) 
any(b&set(p) for p in a) 
# True 

@RikPoggiもさえセットを作成せずに動作isdisjointを使用して提案された:

any(not b.isdisjoint(p) for p in a) 
+1

python-2.7から 'b = {3,7 '' 'p 'のpの' 'b.isdisjoint(set(p))' ' –

+1

-1:トートロジーを書きました:' >>> a = set([ (1,2)、(3,4)、(5,6)]) >>> b =((8,7)) >>>任意の(b | a(p)の任意の 真 '; 8または7のどちらもまだ私は真実には達していません。 @ RikPoggiの*は*正しいです。 –

+0

@ChrisWesseling - あなたが間違った演算子(*や*の代わりに*や*)、ありがとう、固定! – eumiro

0
>>> from itertools import chain 
>>> if set(chain(*set([(1,2),(3,4),(5,6)])))&set([3,7]): 
...  print True 
...  
True 
関連する問題