Набор Python Union и Set Intersection работают по-разному?

Я делаю некоторые операции над множествами в Python, и я заметил кое-что странное ..

>> set([1,2,3]) | set([2,3,4])
set([1, 2, 3, 4])
>> set().union(*[[1,2,3], [2,3,4]])
set([1, 2, 3, 4])

Это хорошо, ожидаемое поведение - но с пересечением:

>> set([1,2,3]) & set([2,3,4])
set([2, 3])
>> set().intersection(*[[1,2,3], [2,3,4]])
set([])

Я схожу с ума здесь? Почему set.intersection () не работает так, как я ожидал?

Как я могу сделать пересечение многих множеств, как я сделал с союзом (при условии[[1,2,3], [2,3,4]] была целая куча еще списков)? Каким будет «питонический» путь?

Ответы на вопрос(4)

Ваш ответ на вопрос