Python set Union und set-Kreuzung anders funktionieren?

Ich bin dabei einige set-Operationen in Python, und ich bemerkte etwas merkwürdiges..

>> 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])

Dass das gut ist, was man sich erwartet - aber mit Kreuzung:

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

Bin ich meinen Verstand verliere hier? Warum ist nicht festgelegt.intersection() funktionieren wie ich es erwarten?

Wie kann ich den Schnittpunkt von viele Sätze wie ich mit union (vorausgesetzt, die [[1,2,3], [2,3,4]] hatte einen ganzen Haufen Listen)? Was würde der "pythonic" Weg sein?

InformationsquelleAutor der Frage Bilal Akil | 2013-10-25

Schreibe einen Kommentar