Python LanguageConjunto


Sintaxis

  • empty_set = set () # inicializa un conjunto vacío
  • literal_set = {'foo', 'bar', 'baz'} # construye un conjunto con 3 cadenas dentro de él
  • set_from_list = set (['foo', 'bar', 'baz']) # llama a la función set para un nuevo conjunto
  • set_from_iter = set (x para x en el rango (30)) # usa iterables arbitrarios para crear un conjunto
  • set_from_iter = {x para x en [random.randint (0,10) para i en rango (10)]} # notación alternativa

Observaciones

Los conjuntos no están ordenados y tienen un tiempo de búsqueda muy rápido (amortizado O (1) si desea obtener asistencia técnica). Es genial usarlo cuando tienes una colección de cosas, el orden no importa, y buscarás muchos artículos por nombre. Si tiene más sentido buscar elementos por un número de índice, considere usar una lista en su lugar. Si el orden importa, considera una lista también.

Los conjuntos son mutables y, por lo tanto, no se pueden hashear, por lo que no puede usarlos como claves de diccionario o colocarlos en otros conjuntos o en cualquier otro lugar que requiera tipos de hashable. En tales casos, puede utilizar un frozenset inmutable.

Los elementos de un conjunto deben ser hashable . Esto significa que tienen un método correcto de __hash__ , que es consistente con __eq__ . En general, los tipos mutables, como la list o el set , no son hashables y no se pueden colocar en un conjunto. Si se encuentra con este problema, considere usar claves dict y inmutables.

Conjunto Ejemplos relacionados