Experimental: Esta API es experimental y puede cambiar en cualquier momento. No dependas de ello. Se puede habilitar de forma experimental configurando --experimental_enable_starlark_set
.
El tipo de conjunto mutable integrado. Ejemplos de expresiones de conjunto:
x = set() # x is an empty set y = set([1, 2, 3]) # y is a set with 3 elements 3 in y # True 0 in y # False len(x) # 0 len(y) # 3
Un conjunto que se usa en el contexto booleano es verdadero solo si no está vacío.
s = set() "non-empty" if s else "empty" # "empty" t = set(["x", "y"]) "non-empty" if t else "empty" # "non-empty"
Los elementos de un conjunto deben poder generar un hash. x
puede ser un elemento de un conjunto solo si x
se puede usar como clave de un diccionario.
Un conjunto en sí no se puede convertir en hash. Por lo tanto, no puedes tener un conjunto con otro conjunto como elemento.
No puedes acceder a los elementos de un conjunto por índice, pero puedes iterar sobre ellos y obtener la lista de los elementos de un conjunto en orden de iteración con la función integrada list()
. Al igual que con las listas, es un error mutar un conjunto mientras se itera. El orden de iteración coincide con el orden de inserción:
s = set([3, 1, 3]) s.add(2) # prints 3, 1, 2 for item in s: print(item) list(s) # [3, 1, 2]
Un conjunto s
es igual a t
solo si t
es un conjunto que contiene los mismos elementos, posiblemente con un orden de iteración diferente. En particular, un conjunto es not
igual a su lista de elementos.
Los conjuntos no están ordenados. Las operaciones <
, <=
, >
y >=
no están definidas para los conjuntos, y no se puede ordenar una lista de conjuntos, a diferencia de lo que sucede en Python.
La operación |
en dos conjuntos muestra la unión de los dos conjuntos: un conjunto que contiene los elementos que se encuentran en uno o ambos conjuntos originales. La operación |
tiene una versión de asignación aumentada. s |= t
agrega a s
todos los elementos de t
.
set([1, 2]) | set([3, 2]) # set([1, 2, 3]) s = set([1, 2]) s |= set([2, 3, 4]) # s now equals set([1, 2, 3, 4])
La operación &
en dos conjuntos muestra la intersección de los dos conjuntos: un conjunto que solo contiene los elementos que se encuentran en ambos conjuntos originales. La operación &
tiene una versión de asignación aumentada. s &= t
quita de s
todos los elementos que no se encuentran en t
.
set([1, 2]) & set([2, 3]) # set([2]) set([1, 2]) & set([3, 4]) # set() s = set([1, 2]) s &= set([0, 1]) # s now equals set([1])
La operación -
en dos conjuntos muestra la diferencia entre los dos conjuntos: un conjunto que contiene los elementos que se encuentran en el conjunto de la izquierda, pero no en el de la derecha. La operación -
tiene una versión de asignación aumentada. s -= t
quita de s
todos los elementos que se encuentran en t
.
set([1, 2]) - set([2, 3]) # set([1]) set([1, 2]) - set([3, 4]) # set([1, 2]) s = set([1, 2]) s -= set([0, 1]) # s now equals set([2])
La operación ^
en dos conjuntos muestra la diferencia simétrica de los dos conjuntos: un conjunto que contiene los elementos que se encuentran en exactamente uno de los dos conjuntos originales, pero no en ambos. La operación ^
tiene una versión de asignación aumentada. s ^= t
quita de s
cualquier elemento de t
que se encuentre en s
y agrega a s
cualquier elemento de t
que no se encuentre en s
.
set([1, 2]) ^ set([2, 3]) # set([1, 3]) set([1, 2]) ^ set([3, 4]) # set([1, 2, 3, 4]) s = set([1, 2]) s ^= set([0, 1]) # s now equals set([2, 0])
Miembros
- add
- sencillo
- diferencia
- difference_update
- descartar
- intersección
- intersection_update
- isdisjoint
- issubset
- issuperset
- pop
- eliminar
- symmetric_difference
- symmetric_difference_update
- sindicato
- actualización
add
None
set.add(element)
Agrega un elemento al conjunto.
Parámetros
Parámetro | Descripción |
---|---|
element
|
required Elemento que se agregará. |
borrar
None
set.clear()
Quita todos los elementos del conjunto.
diferencia
set set.difference(*others)Muestra un nuevo conjunto mutable que contiene la diferencia entre este conjunto y otros.
Por ejemplo,
set([1, 2, 3]).intersection([1, 2], [2, 3]) == set([2])
Parámetros
Parámetro | Descripción |
---|---|
others
|
obligatorio Conjuntos, secuencias o diccionarios. |
difference_update
None
set.difference_update(*others)
Quita todos los elementos que se encuentren en otros conjuntos de este conjunto.
Por ejemplo,
x = set([1, 2, 3, 4]) x.difference_update([2, 3], [3, 4]) # x is now set([1])
Parámetros
Parámetro | Descripción |
---|---|
others
|
obligatorio Conjuntos, secuencias o diccionarios. |
descartar
None
set.discard(element)
Quita un elemento del conjunto si está presente.
Parámetros
Parámetro | Descripción |
---|---|
element
|
obligatorio Elemento que se descartará. |
intersección
set set.intersection(*others)Muestra un nuevo conjunto mutable que contiene la intersección de este conjunto con otros.
Por ejemplo,
set([1, 2, 3]).intersection([1, 2], [2, 3]) == set([2])
Parámetros
Parámetro | Descripción |
---|---|
others
|
obligatorio Conjuntos, secuencias o diccionarios. |
intersection_update
None
set.intersection_update(*others)
Quita de este conjunto los elementos que no se encuentren en los demás.
Por ejemplo,
x = set([1, 2, 3, 4]) x.intersection_update([2, 3], [3, 4]) # x is now set([3])
Parámetros
Parámetro | Descripción |
---|---|
others
|
obligatorio Conjuntos, secuencias o diccionarios. |
isdisjoint
bool set.isdisjoint(other)Muestra true si este conjunto no tiene elementos en común con otro.
Por ejemplo,
set([1, 2]).isdisjoint([3, 4]) == True set().isdisjoint(set()) == True set([1, 2]).isdisjoint([2, 3]) == False
Parámetros
Parámetro | Descripción |
---|---|
other
|
obligatorio Un conjunto, una secuencia o un diccionario. |
issubset
bool set.issubset(other)Muestra verdadero si este conjunto es un subconjunto de otro.
Por ejemplo,
set([1, 2]).issubset([1, 2, 3]) == True set([1, 2]).issubset([1, 2]) == True set([1, 2]).issubset([2, 3]) == False
Parámetros
Parámetro | Descripción |
---|---|
other
|
obligatorio Un conjunto, una secuencia o un diccionario. |
issuperset
bool set.issuperset(other)Muestra verdadero si este conjunto es un superconjunto de otro.
Por ejemplo,
set([1, 2, 3]).issuperset([1, 2]) == True set([1, 2, 3]).issuperset([1, 2, 3]) == True set([1, 2, 3]).issuperset([2, 3, 4]) == False
Parámetros
Parámetro | Descripción |
---|---|
other
|
obligatorio Un conjunto, una secuencia o un diccionario. |
pop
unknown set.pop()Quita y muestra el primer elemento del conjunto. Falla si el conjunto está vacío.
quitar
None
set.remove(element)
Quita un elemento, que debe estar presente en el conjunto, del conjunto. Falla si el elemento no estaba presente en el conjunto.
Parámetros
Parámetro | Descripción |
---|---|
element
|
obligatorio Elemento que se quitará. |
symmetric_difference
set set.symmetric_difference(other)Muestra un nuevo conjunto mutable que contiene la diferencia simétrica de este conjunto con otro conjunto, secuencia o diccionario.
Por ejemplo,
set([1, 2, 3]).symmetric_difference([2, 3, 4]) == set([1, 4])
Parámetros
Parámetro | Descripción |
---|---|
other
|
obligatorio Un conjunto, una secuencia o un diccionario. |
symmetric_difference_update
None
set.symmetric_difference_update(other)
Muestra un nuevo conjunto mutable que contiene la diferencia simétrica de este conjunto con otro conjunto, secuencia o diccionario.
Por ejemplo,
set([1, 2, 3]).symmetric_difference([2, 3, 4]) == set([1, 4])
Parámetros
Parámetro | Descripción |
---|---|
other
|
obligatorio Un conjunto, una secuencia o un diccionario. |
unión
set set.union(*others)Muestra un nuevo conjunto mutable que contiene la unión de este conjunto con otros.
Por ejemplo,
set([1, 2]).union([2, 3, 4], [4, 5]) == set([1, 2, 3, 4, 5])
Parámetros
Parámetro | Descripción |
---|---|
others
|
obligatorio Conjuntos, secuencias o diccionarios. |
update
None
set.update(*others)
Agrega los elementos que se encuentran en otros a este conjunto.
Por ejemplo,
x = set([1, 2]) x.update([2, 3], [3, 4]) # x is now set([1, 2, 3, 4])
Parámetros
Parámetro | Descripción |
---|---|
others
|
obligatorio Conjuntos, secuencias o diccionarios. |