En Python, un Conjunto es una colección desordenada de tipos de datos que es iterable, mutable y no tiene elementos duplicados. El orden de los elementos en un conjunto no está definido, aunque puede constar de varios elementos. La principal ventaja de usar un conjunto, a diferencia de una lista, es que tiene un método altamente optimizado para verificar si un elemento específico está contenido en el conjunto.
Crear un conjunto
Los conjuntos se pueden crear utilizando la función integrada set() con un objeto iterable o una secuencia colocando la secuencia entre llaves, separadas por una ‘coma’.
Nota: un conjunto no puede tener elementos mutables como una lista o un diccionario, ya que es mutable.
Python3
# Python program to demonstrate # Creation of Set in Python # Creating a Set set1 = set() print("Initial blank Set: ") print(set1) # Creating a Set with # the use of a String set1 = set("GeeksForGeeks") print("\nSet with the use of String: ") print(set1) # Creating a Set with # the use of Constructor # (Using object to Store String) String = 'GeeksForGeeks' set1 = set(String) print("\nSet with the use of an Object: " ) print(set1) # Creating a Set with # the use of a List set1 = set(["Geeks", "For", "Geeks"]) print("\nSet with the use of List: ") print(set1)
Initial blank Set: set() Set with the use of String: {'e', 'r', 'G', 's', 'F', 'k', 'o'} Set with the use of an Object: {'e', 'r', 'G', 's', 'F', 'k', 'o'} Set with the use of List: {'Geeks', 'For'}
Un conjunto contiene solo elementos únicos, pero en el momento de la creación del conjunto, también se pueden pasar varios valores duplicados. El orden de los elementos en un conjunto no está definido y no se puede modificar. El tipo de elementos en un conjunto no necesita ser el mismo, también se pueden pasar al conjunto varios valores de tipos de datos mezclados.
Python3
# Creating a Set with # a List of Numbers # (Having duplicate values) set1 = set([1, 2, 4, 4, 3, 3, 3, 6, 5]) print("\nSet with the use of Numbers: ") print(set1) # Creating a Set with # a mixed type of values # (Having numbers and strings) set1 = set([1, 2, 'Geeks', 4, 'For', 6, 'Geeks']) print("\nSet with the use of Mixed Values") print(set1)
Set with the use of Numbers: {1, 2, 3, 4, 5, 6} Set with the use of Mixed Values {1, 2, 'For', 4, 6, 'Geeks'}
Crear un conjunto con otro método
Python3
# Another Method to create sets in Python3 # Set containing numbers my_set = {1, 2, 3} print(my_set) # This code is contributed by sarajadhav12052009
{1, 2, 3}
Adición de elementos a un conjunto
Usando el método agregar()
Los elementos se pueden agregar al conjunto mediante el uso de la función integrada add() . Solo se puede agregar un elemento a la vez al conjunto usando el método add(), los bucles se usan para agregar varios elementos a la vez con el uso del método add().
Nota: las listas no se pueden agregar a un conjunto como elementos porque las listas no se pueden modificar, mientras que las tuplas se pueden agregar porque las tuplas son inmutables y, por lo tanto, se pueden modificar.
Python3
# Python program to demonstrate # Addition of elements in a Set # Creating a Set set1 = set() print("Initial blank Set: ") print(set1) # Adding element and tuple to the Set set1.add(8) set1.add(9) set1.add((6, 7)) print("\nSet after Addition of Three elements: ") print(set1) # Adding elements to the Set # using Iterator for i in range(1, 6): set1.add(i) print("\nSet after Addition of elements from 1-5: ") print(set1)
Initial blank Set: set() Set after Addition of Three elements: {8, 9, (6, 7)} Set after Addition of elements from 1-5: {1, 2, 3, (6, 7), 4, 5, 8, 9}
Usando el método de actualización()
Para la adición de dos o más elementos se utiliza el método Update(). El método update() acepta listas, strings, tuplas y otros conjuntos como argumentos. En todos estos casos se evita la duplicación de elementos.
Python3
# Python program to demonstrate # Addition of elements in a Set # Addition of elements to the Set # using Update function set1 = set([4, 5, (6, 7)]) set1.update([10, 11]) print("\nSet after Addition of elements using Update: ") print(set1)
Set after Addition of elements using Update: {4, 5, (6, 7), 10, 11}
Acceso a un conjunto
No se puede acceder a los elementos del conjunto haciendo referencia a un índice, dado que los conjuntos no están ordenados, los elementos no tienen índice. Pero puede recorrer los elementos del conjunto usando un bucle for, o preguntar si un valor específico está presente en un conjunto, usando la palabra clave in.
Python3
# Python program to demonstrate # Accessing of elements in a set # Creating a set set1 = set(["Geeks", "For", "Geeks"]) print("\nInitial set") print(set1) # Accessing element using # for loop print("\nElements of set: ") for i in set1: print(i, end=" ") # Checking the element # using in keyword print("Geeks" in set1)
Initial set {'For', 'Geeks'} Elements of set: For Geeks True
Eliminar elementos del Conjunto
Usando el método remove() o el método descarte():
Los elementos se pueden eliminar del conjunto mediante la función remove() incorporada, pero surge un KeyError si el elemento no existe en el conjunto. Para eliminar elementos de un conjunto sin KeyError, use descartar(), si el elemento no existe en el conjunto, permanece sin cambios.
Python3
# Python program to demonstrate # Deletion of elements in a Set # Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print("Initial Set: ") print(set1) # Removing elements from Set # using Remove() method set1.remove(5) set1.remove(6) print("\nSet after Removal of two elements: ") print(set1) # Removing elements from Set # using Discard() method set1.discard(8) set1.discard(9) print("\nSet after Discarding two elements: ") print(set1) # Removing elements from Set # using iterator method for i in range(1, 5): set1.remove(i) print("\nSet after Removing a range of elements: ") print(set1)
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after Removal of two elements: {1, 2, 3, 4, 7, 8, 9, 10, 11, 12} Set after Discarding two elements: {1, 2, 3, 4, 7, 10, 11, 12} Set after Removing a range of elements: {7, 10, 11, 12}
Usando el método pop():
La función Pop() también se puede usar para eliminar y devolver un elemento del conjunto, pero solo elimina el último elemento del conjunto.
Nota: si el conjunto no está ordenado, entonces no existe tal manera de determinar qué elemento aparece utilizando la función pop().
Python3
# Python program to demonstrate # Deletion of elements in a Set # Creating a Set set1 = set([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]) print("Initial Set: ") print(set1) # Removing element from the # Set using the pop() method set1.pop() print("\nSet after popping an element: ") print(set1)
Initial Set: {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} Set after popping an element: {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
Usando el método clear():
Para eliminar todos los elementos del conjunto, se utiliza la función clear().
Python3
#Creating a set set1 = set([1,2,3,4,5]) print("\n Initial set: ") print(set1) # Removing all the elements from # Set using clear() method set1.clear() print("\nSet after clearing all the elements: ") print(set1)
Initial set: {1, 2, 3, 4, 5} Set after clearing all the elements: set()
Los conjuntos congelados en Python son objetos inmutables que solo admiten métodos y operadores que producen un resultado sin afectar el conjunto o conjuntos congelados a los que se aplican. Si bien los elementos de un conjunto se pueden modificar en cualquier momento, los elementos del conjunto congelado siguen siendo los mismos después de la creación.
Si no se pasan parámetros, devuelve un conjunto congelado vacío.
Python3
# Python program to demonstrate # working of a FrozenSet # Creating a Set String = ('G', 'e', 'e', 'k', 's', 'F', 'o', 'r') Fset1 = frozenset(String) print("The FrozenSet is: ") print(Fset1) # To print Empty Frozen Set # No parameter is passed print("\nEmpty FrozenSet: ") print(frozenset())
The FrozenSet is: frozenset({'o', 'G', 'e', 's', 'r', 'F', 'k'}) Empty FrozenSet: frozenset()
Encasillar objetos en conjuntos
Python3
# Typecasting Objects in Python3 into sets # Typecasting list into set my_list = [1, 2, 3, 3, 4, 5, 5, 6, 2] my_set = set(my_list) print("my_list as a set: ", my_set) # Typecasting string into set my_str = "GeeksforGeeks" my_set1 = set(my_str) print("my_str as a set: ", my_set1) # Typecasting dictionary into set my_dict = {1: "One", 2: "Two", 3: "Three"} my_set2 = set(my_dict) print("my_dict as a set: ", my_set2) # This code is contributed by sarajadhav12052009
my_list as a set: {1, 2, 3, 4, 5, 6} my_str as a set: {'f', 'G', 'r', 'o', 's', 'k', 'e'} my_dict as a set: {1, 2, 3}
Establecer métodos
Función | Descripción |
---|---|
agregar() | Añade un elemento a un conjunto. |
retirar() | Elimina un elemento de un conjunto. Si el elemento no está presente en el conjunto, genera un KeyError |
clear() | Elimina todos los elementos de un conjunto. |
Copiar() | Devuelve una copia superficial de un conjunto. |
estallido() | Elimina y devuelve un elemento de conjunto arbitrario. Aumentar KeyError si el conjunto está vacío |
actualizar() | Actualiza un conjunto con la unión de sí mismo y otros |
Unión() | Devuelve la unión de conjuntos en un nuevo conjunto |
diferencia() | Devuelve la diferencia de dos o más conjuntos como un nuevo conjunto |
diferencia_actualizar() | Elimina todos los elementos de otro conjunto de este conjunto |
desechar() | Elimina un elemento del conjunto si es un miembro. (No hacer nada si el elemento no está en conjunto) |
intersection() | Devuelve la intersección de dos conjuntos como un nuevo conjunto |
intersección_actualizar() | Actualiza el conjunto con la intersección de sí mismo y otro |
es disjunto() | Devuelve True si dos conjuntos tienen una intersección nula |
issubconjunto() | Devuelve True si otro conjunto contiene este conjunto |
essuperconjunto() | Devuelve True si este conjunto contiene otro conjunto |
diferencia_simétrica() | Devuelve la diferencia simétrica de dos conjuntos como un nuevo conjunto |
actualización_diferencia_simétrica() | Actualiza un conjunto con la diferencia simétrica de sí mismo y otro |
Artículos recientes sobre conjuntos de Python
Establecer programas
- Programa para aceptar las strings que contienen todas las vocales
- Programa de Python para encontrar elementos comunes en tres listas usando conjuntos
- Encuentra valores faltantes y adicionales en dos listas
- Pares de cuerdas completas en dos juegos
- Comprobar si una string dada es Heterograma o no
- Máximo y mínimo en un conjunto
- Eliminar elementos del conjunto
- Python Establecer diferencia para encontrar elementos perdidos de una array duplicada
- Número mínimo de subconjuntos con elementos distintos usando Counter
- Compruebe si dos listas tienen al menos un elemento común
- Programa para contar el número de vocales usando conjuntos en una string dada
- Diferencia entre dos listas
- Python configurado para verificar si la string es panagram
- Operaciones de conjuntos de Python (unión, intersección, diferencia y diferencia simétrica)
- String concatenada con caracteres poco comunes en Python
- Diccionario de Python, ajuste y contador para verificar si las frecuencias pueden volverse iguales
- Uso de Set() en Python Pangram Checking
- Establezca update() en Python para hacer la unión de n arrays
Enlaces útiles
- Salida de programas Python – Conjuntos
- Artículos recientes sobre conjuntos de Python
- Preguntas de opción múltiple – Python
- Todos los artículos en la categoría Python
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA