2016-04-12 54 views
0

假設我有一個元組列表,如下所示。如何在元組中使用'issubset'和多元素(python)

a = [('a','b'),('a','c'),('a','d'),('b','d'),('b','e'),('e','f')]; 

,我要檢查data = [('a','b','c')]是或集的一個子不

我做

set(data).issubset(set(a)); 

但還是導致作爲不應該我不知道假什麼我在這裏做錯了

+3

'False' is correct。 'a'中的元素是元組,而'data'中的元素是單個元組。 'data'中的單個元組與'a'中的任何元組都不匹配,所以答案應該是'False'。 – tom10

+0

那麼,你試圖實現哪個'issubset()'沒有做什麼? – dhke

+0

您是否也許意思是:''a'',''b''和''c''是否都出現在'a'中的至少一個元組中?這樣測試應該爲'[('a','b'),('a','c')]'返回true並且爲'[('a','b')',''' , 'Z')]'。 – Dunes

回答

-1

data :: [3-tuple] where a :: [2-tuple]。 A 2-tuple3-tuple不同,因爲set操作不適用。你可以這樣做:

g = (e for t in a for e in t) 
set(*data).issubset(g) # True 
+0

爲什麼downvote? –

相關問題