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ériegrâce jonrsharpe, votre commentaire est très utile!
OriginalL'auteur lcs | 2015-08-07
Vous devez vous connecter pour publier un commentaire.
s.union(r)
est un nouveau ensemble avec des éléments des deuxs
etr
.référence Vous avez besoin de changerà
ou, utiliser
set.mise à jour
.set.update
, plutôt que de créer un nouveau jeu à chaque foismerci les gars! problème résolu
OriginalL'auteur Yu Hao