python - potencia - programa de conjuntos
¿Conjunto vacío literal? (7)
Agregando a las ideas locas: con Python 3 aceptando identificadores Unicode, podría declarar una variable ϕ = frozenset()
(ϕ es U + 03D5) y usarla en su lugar.
[]
= list
vacía
()
= tuple
vacía
{}
= dict
vacío
¿Hay una notación similar para un set
vacío? ¿O tengo que escribir set()
?
Depende de si desea el literal para una comparación, o para la asignación.
Si desea vaciar un conjunto existente, puede usar el .clear()
, especialmente si desea evitar la creación de un nuevo objeto. Si desea hacer una comparación, use set()
o verifique si la longitud es 0.
ejemplo:
#create a new set
a=set([1,2,3,''foo'',''bar''])
#or, using a literal:
a={1,2,3,''foo'',''bar''}
#create an empty set
a=set()
#or, use the clear method
a.clear()
#comparison to a new blank set
if a==set():
#do something
#length-checking comparison
if len(a)==0:
#do something
No, no hay sintaxis literal para el conjunto vacío. Tienes que escribir set()
.
Por todos los medios, use set()
para crear un conjunto vacío.
Pero, si quieres impresionar a la gente, diles que puedes crear un conjunto vacío usando literales y *
con Python> = 3.5 ( ver PEP 448 ) haciendo:
>>> s = {*()} # or {*{}} or {*[]}
>>> print(s)
set()
esta es básicamente una forma más condensada de hacer {_ for _ in ()}
, pero no hagas esto.
Si desea inicializar el conjunto vacío, aplique debajo del código. este es funciona perfectamente para mí en python 3:
object = set([])
object = object.union([1,2,3,4]) #set operation.
Solo para extender la respuesta aceptada:
Desde la versión 2.7
y 3.1
python tiene un set
literal {}
en forma de uso {1,2,3}
, pero {}
todavía se usa para dict. Vacío.
Python 2.7 (la primera línea no es válida en Python <2.7)
>>> {1,2,3}.__class__
<type ''set''>
>>> {}.__class__
<type ''dict''>
Python 3.x
>>> {1,4,5}.__class__
<class ''set''>
>>> {}.__class__
<type ''dict''>
Más aquí: https://docs.python.org/3/whatsnew/2.7.html#other-language-changes
utilízalo así a = set
o
a = {0,1}