Python set Union e set Intersection operam diferentemente?
Eu estou fazendo algumas operações de conjunto em Python, e notei algo estranho ..
>> 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])
Isso é bom, comportamento esperado - mas com intersecção:
>> set([1,2,3]) & set([2,3,4])
set([2, 3])
>> set().intersection(*[[1,2,3], [2,3,4]])
set([])
Estou perdendo a cabeça aqui? Por que o set.intersection () não está operando como eu esperava?
Como posso fazer a interseção de muitos conjuntos como eu fiz com a união (assumindo a[[1,2,3], [2,3,4]]
tinha um monte de mais listas)? Qual seria o caminho "pythonic"?