Estoy aprendiendo Python y tengo una pregunta de principiante sobre la inicialización de conjuntos. A través de las pruebas, descubrí que un conjunto se puede inicializar así:
my_set = {'foo', 'bar', 'baz'}
¿Hay alguna desventaja de hacerlo de esta manera, a diferencia de la forma estándar de:
my_set = set(['foo', 'bar', 'baz'])
¿O es solo una cuestión de estilo?
python
python-2.7
set
fvrghl
fuente
fuente
Respuestas:
Hay dos problemas obvios con la sintaxis literal establecida:
No está disponible antes de Python 2.7
No hay forma de expresar un conjunto vacío usando esa sintaxis (usando
{}
crea un dict vacío)Esos pueden ser importantes para usted o no.
La sección de los documentos que describe esta sintaxis está aquí .
fuente
Compare también la diferencia entre
{}
yset()
con un argumento de una sola palabra.pero ambos
a
yb
son conjuntos por supuesto.fuente
set([])
lugar de soloset()
.set()
siempre tome un solo argumento. Un solo iterable.De la documentación de Python 3 ( lo mismo vale para Python 2.7 ):
en python 2.7:
Tenga en cuenta que
{}
también se utiliza paramap
/dict
:También se puede utilizar una sintaxis completa para inicializar conjuntos:
fuente
Debe hacerlo
empty_set = set()
para inicializar un conjunto vacío.{}
soy un dictionaty vacío.fuente