2013-10-08 1 views
1

Я использую генератор множества мощности, чтобы увидеть пересечения между множествами. Генератор возвращает списки, которые представляют собой разные комбинации наборов. Я пробовал следующее:Возврат списка как нескольких элементов

overlapped = [set.intersection(g) for g in powerset(listOfSets)] 

но g это список, а set.intersection не принимает списки; он просто принимает несколько элементов, которые являются множествами.

Есть ли встроенная функция или способ разбивать список n-элементов на n отдельных элементов возврата?

ответ

4

Вы можете использовать argument unpacking (оператор *) для этого.

>>> foo = [set([1,2]), set([2,3]), set([2,4])] 
>>> set.intersection(*foo) 
set([2]) 
+0

Спасибо! Отлично. – user2243024