usar sirven que partes para los eliminar elementos crear conjuntos conjunto cardinalidad cantor python python-2.7

python - sirven - Usar llaves para inicializar el conjunto



para que sirven los conjuntos en python (3)

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 cuestion de estilo?


Compare también la diferencia entre {} y set() con un solo argumento de palabra.

>>> a = set(''aardvark'') >>> a {''d'', ''v'', ''a'', ''r'', ''k''} >>> b = {''aardvark''} >>> b {''aardvark''}

pero tanto a como b son conjuntos por supuesto.


De la documentación de Python 3 ( lo mismo vale para python 2.7 ):

Las llaves o la función set () se pueden usar para crear conjuntos. Nota: para crear un conjunto vacío, debe usar set (), no {}; este último crea un diccionario vacío, una estructura de datos que discutiremos en la siguiente sección.

en python 2.7:

>>> my_set = {''foo'', ''bar'', ''baz'', ''baz'', ''foo''} >>> my_set set([''bar'', ''foo'', ''baz''])

Tenga en cuenta que {} también se usa para map / dict :

>>> m = {''a'':2,3:''d''} >>> m[3] ''d'' >>> m={} >>> type(m) <type ''dict''>

Uno puede usar conjuntos de comprensión:

>>> a = {x for x in """didn''t know about {} and sets """ if x not in ''set'' } >>> a set([''a'', '' '', ''b'', ''d'', "''", ''i'', ''k'', ''o'', ''n'', ''u'', ''w'', ''{'', ''}''])


Hay dos problemas obvios con la sintaxis literal del conjunto:

my_set = {''foo'', ''bar'', ''baz''}

  1. No está disponible antes de Python 2.7

  2. No hay forma de expresar un conjunto vacío usando esa sintaxis (usar {} crea un dict vacío)

Esos pueden o no ser importantes para usted.

La sección de los documentos que delinean esta sintaxis está docs.python.org/2/reference/expressions.html#set-displays .