Comment l'union avec

Je comprends que toute python ensemble union avec vide un jeu de résultat en soi. Mais certains se comportent étrange que je détecte lorsque union est à l'intérieur d'une boucle for.

semble bon

num= set([2,3,4])
emp= set()
print num|emp
>>>set([2, 3, 4])

confus

s = set()
inp = ["dr101-mr99","mr99-out00","dr101-out00","scout1-scout2","scout3-    scout1","scout1-scout4","scout4-sscout","sscout-super"]
for ele in inp:
  r = set(ele.split("-"))
  print r
  s.union(r)
print s
 >>>set(['mr99', 'dr101'])
    set(['out00', 'mr99'])
    set(['out00', 'dr101'])
    set(['scout1', 'scout2'])
    set(['scout1', 'scout3'])
    set(['scout4', 'scout1'])
    set(['scout4', 'sscout'])
    set(['super', 'sscout'])
    set([])

quelqu'un pouvait me dire pourquoi la dernière série s est vide?
est la sortie censé être chaque élément unique dans le jeu?

set.union renvoie un nouvel ensemble, de sorte que chaque fois que vous êtes seulement l'ajout de la dernière ele à l'original (vide) série
grâce jonrsharpe, votre commentaire est très utile!

OriginalL'auteur lcs | 2015-08-07