python - Cómo unir adecuadamente con el set.
python-2.7 for-loop (1)
s.union(r)
es un nuevo conjunto con elementos de s
r
. reference necesitas cambiar
s.union(r)
a
s = s.union(r)
o, use set.update
.
Entiendo que cualquier union
conjunto de python con conjunto vacío resultaría en sí misma. Pero detecto algún comportamiento extraño cuando la union
está dentro de un bucle for.
se ve bien
num= set([2,3,4])
emp= set()
print num|emp
>>>set([2, 3, 4])
confuso
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([])
¿Alguien podría decirme por qué el último set s está vacío? ¿Se supone que la salida es cada elemento único en el conjunto?