Tipo de datos Frozenset - Python
He descubierto un nuevo tipo de conjunto en python, el frozenset
. La diferencia
con el conjunto normal tipo <class 'set'>
es que el frozenset
es inmutable.
Esto es, una vez creado no se puede modificar.
foo = frozenset([1,2,3,4])
foo.add(5)
> AttributeError: 'frozenset' object has no attribute 'add'
foo.remove(1)
> AttributeError: 'frozenset' object has no attribute 'remove'
A pesar de que no se pueden modificar, se pueden realizar operaciones de conjuntos tales como unión, intersección, diferencia, etc.
Unión
Para realizar la unión de dos frozenset
se utiliza el operador |
.
bar = frozenset(1,2,3,4)
foo = frozenset(2,3,4,5,6,7)
bar | foo
> frozenset(1,2,3,4,5,6,7)
Intersección
Para realizar la intersección de dos frozenset
se utiliza el operador &
.
bar = frozenset(1,2,3,4)
foo = frozenset(2,3,4,5,6,7)
bar & foo
> frozenset(2,3,4)
Diferencia
Para realizar la diferencia de dos frozenset
se utiliza el operador -
.
bar = frozenset(1,2,3,4)
foo = frozenset(2,3,4,5,6,7)
bar - foo
> frozenset(1)
Puedes obtener más información en la Documentación oficial.