Python set Union i set Intersection działają inaczej?
Robię pewne operacje na zestawach w Pythonie i zauważyłem coś dziwnego ..
>> 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])
To dobrze, oczekiwane zachowanie - ale z przecięciem:
>> set([1,2,3]) & set([2,3,4])
set([2, 3])
>> set().intersection(*[[1,2,3], [2,3,4]])
set([])
Czy tracę tu swój umysł? Dlaczego funkcja set.intersection () nie działa tak, jak powinienem?
Jak mogę zrobić przecięcie wielu zestawów, tak jak w przypadku związku (zakładając, że[[1,2,3], [2,3,4]]
miałeś więcej list? Czym byłby „pytoniczny” sposób?