Python Set es una colección desordenada de tipos de datos que es iterable, mutable y no tiene elementos duplicados. El orden de los elementos de un conjunto no está definido, aunque puede estar formado por varios elementos. La principal ventaja de utilizar un conjunto, a diferencia de una lista, es que tiene un método altamente optimizado para comprobar si un elemento específico está contenido en el conjunto. Aquí veremos qué es un conjunto en Python y también veremos diferentes ejemplos de conjuntos en Python.
Creando un conjunto en Python
Los conjuntos de Python se pueden crear utilizando el programa integrado colocar() funciona con un objeto iterable o una secuencia colocando la secuencia entre llaves, separadas por una 'coma'.
Python3Nota: Un conjunto de Python no puede tener elementos mutables como una lista o un diccionario, ya que es inmutable.
# Creating a Set set1 = set() print('Initial blank Set: ') print(set1) # Creating a Set with the use of a String set1 = set('GeeksForGeeks') print('
Set with the use of String: ') print(set1) String = 'GeeksForGeeks' set1 = set(String) print('
Set with the use of an Object: ') print(set1) # Creating a Set with the use of a List set1 = set(['Geeks', 'For', 'Geeks']) print('
Set with the use of List: ') print(set1) # Creating a Set with the use of a tuple t = ('Geeks', 'for', 'Geeks') print('
Set with the use of Tuple: ') print(set(t)) # Creating a Set with the use of a dictionary d = {'Geeks': 1, 'for': 2, 'Geeks': 3} print('
Set with the use of Dictionary: ') print(set(d))> Producción
corte
Initial blank Set: set() Set with the use of String: {'e', 'G', 's', 'F', 'o', 'r', 'k'} Set with the use of an Object: {'e', 'G', 's', 'F', 'o', 'r', 'k'} Set with the use of List: {'For', 'Geeks'} Set with the use of Tuple: {'for', 'Geeks'} Set with the use of Dictionary: {'for', 'Geeks'}> Complejidad del tiempo: O(n), donde n es la longitud de la cadena, lista, tupla o diccionario de entrada.
Espacio auxiliar: O(n), donde n es la longitud de la cadena, lista, tupla o diccionario de entrada.
Un conjunto de Python contiene solo elementos únicos, pero en el momento de la creación del conjunto, también se pueden pasar múltiples valores duplicados. El orden de los elementos en un conjunto de Python no está definido y no se puede modificar. Los tipos de elementos de un conjunto no tienen por qué ser los mismos; también se pueden pasar al conjunto varios valores de tipos de datos mezclados.
ruta establecida en javaPython3
# Creating a Set with a List of Numbers # (Having duplicate values) set1 = set([1, 2, 4, 4, 3, 3, 3, 6, 5]) print('
Set 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('
Set with the use of Mixed Values') print(set1)> Producción
Set with the use of Numbers: {1, 2, 3, 4, 5, 6} Set with the use of Mixed Values {1, 2, 4, 6, 'Geeks', 'For'}> Crear un conjunto de Python con otro método
En este ejemplo, se crea un conjunto utilizando la notación de llaves {}, que contiene los números 1, 2 y 3. La estructura de datos del conjunto en Python o el conjunto desordenado en Python son colecciones desordenadas de elementos únicos, lo que los hace adecuados para tareas que requieren unicidad y establecer operaciones en Python.
Python3 # Another Method to create sets in Python3 # Set containing numbers my_set = {1, 2, 3} print(my_set)> Producción
{1, 2, 3}> Agregar elementos a un conjunto en Python
A continuación se muestran algunos de los métodos mediante los cuales podemos agregar elementos a un conjunto en Python:
- Usando el método add()
- Usando el método update()
Usando el método add()
Se pueden agregar elementos alConjuntos en Pythonusando el incorporado agregar() función. Solo se puede agregar un elemento a la vez al conjunto usando el método add(), los bucles se usan para agregar múltiples elementos a la vez con el uso del método add().
Python3Nota: Las listas no se pueden agregar a un conjunto como elementos porque las listas no se pueden usar con hash, mientras que las tuplas se pueden agregar porque las tuplas son inmutables y, por lo tanto, se pueden usar con hash.
# 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('
Set after Addition of Three elements: ') print(set1) # Adding elements to the Set # using Iterator for i in range(1, 6): set1.add(i) print('
Set after Addition of elements from 1-5: ') print(set1)> Producción
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 update()
Para agregar dos o más elementos, se utiliza el método Update(). El método update() acepta listas, cadenas, tuplas y otros conjuntos de hash de Python como argumentos. En todos estos casos se evitan elementos duplicados.
Python3 # Addition of elements to the Set # using Update function set1 = set([4, 5, (6, 7)]) set1.update([10, 11]) print('
Set after Addition of elements using Update: ') print(set1)> Producción
Set after Addition of elements using Update: {4, 5, (6, 7), 10, 11}> Accediendo a un conjunto en Python
No se puede acceder a los elementos del conjunto haciendo referencia a un índice, ya que los conjuntos están desordenados y los elementos no tienen índice. Pero puedes recorrer los elementos del conjunto hash de Python usando un bucle for, o preguntar si un valor específico está presente en un conjunto, usando la palabra clave in.
Python3 # Creating a set set1 = set(['Geeks', 'For', 'Geeks.']) print('
Initial set') print(set1) # Accessing element using # for loop print('
Elements of set: ') for i in set1: print(i, end=' ') # Checking the element # using in keyword print('
') print('Geeks' in set1)> Producción
Initial set {'Geeks.', 'For', 'Geeks'} Elements of set: Geeks. For Geeks True>Eliminar elementos del conjunto en Python
A continuación se muestran algunas de las formas en que podemos eliminar elementos del conjunto en Python:
radice suerte
- Usando el método remove() o el método descartar()
- Usando el método pop()
- Usando el método clear()
Usando el método remove() o el método descartar()
Se pueden eliminar elementos delConjuntos en Pythonutilizando la función remove() incorporada, pero surge un KeyError si el elemento no existe en el hashset de Python. Para eliminar elementos de un conjunto sin KeyError, use descartar(), si el elemento no existe en el conjunto, permanece sin cambios.
Python3 # 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('
Set after Removal of two elements: ') print(set1) # Removing elements from Set using Discard() method set1.discard(8) set1.discard(9) print('
Set after Discarding two elements: ') print(set1) # Removing elements from Set using iterator method for i in range(1, 5): set1.remove(i) print('
Set after Removing a range of elements: ') print(set1)> Producción
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 utilizar para eliminar y devolver un elemento del conjunto, pero solo elimina el último elemento del conjunto.
lista.ordenar java
Python3Nota: Si el conjunto está desordenado, entonces no existe tal forma de determinar qué elemento se extrae usando la función pop().
# 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('
Set after popping an element: ') print(set1)> Producción
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('
Initial set: ') print(set1) # Removing all the elements from # Set using clear() method set1.clear() print('
Set after clearing all the elements: ') print(set1)> Producción
Initial set: {1, 2, 3, 4, 5} Set after clearing all the elements: set()> CongeladoConjuntos en Python
Conjuntos congelados En Python hay 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 permanecen iguales después de la creación.
Si no se pasan parámetros, devuelve un frozenset 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('
Empty FrozenSet: ') print(frozenset())> Producción
The FrozenSet is: frozenset({'F', 's', 'o', 'G', 'r', 'e', 'k'}) Empty FrozenSet: frozenset()> Encasillar objetos en conjuntos
En este ejemplo, liza , cuerdas y diccionarios se convierten en conjuntos usando el colocar() constructor, eliminando duplicados en listas y extrayendo elementos únicos en cadenas y claves de diccionario.
Python3 # 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 = 'techcodeview.com' 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)> Producción
my_list as a set: {1, 2, 3, 4, 5, 6} my_str as a set: {'G', 'f', 'r', 'e', 'k', 'o', 's'} my_dict as a set: {1, 2, 3}> Ejemplo: implementar todas las funciones
En este ejemplo, una serie de funciones demuestran operaciones comunes enconjuntos en Python. Estos incluyen crear un conjunto, agregar y eliminar elementos, borrar el conjunto, realizar operaciones de unión, intersección, diferencia, diferencia simétrica, subconjunto y superconjunto de conjuntos.
Python3 def create_set(): my_set = {1, 2, 3, 4, 5} print(my_set) def add_element(): my_set = {1, 2, 3, 4, 5} my_set.add(6) print(my_set) def remove_element(): my_set = {1, 2, 3, 4, 5} my_set.remove(3) print(my_set) def clear_set(): my_set = {1, 2, 3, 4, 5} my_set.clear() print(my_set) def set_union(): set1 = {1, 2, 3} set2 = {4, 5, 6} my_set = set1.union(set2) print(my_set) def set_intersection(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.intersection(set2) print(my_set) def set_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.difference(set2) print(my_set) def set_symmetric_difference(): set1 = {1, 2, 3, 4, 5} set2 = {4, 5, 6, 7, 8} my_set = set1.symmetric_difference(set2) print(my_set) def set_subset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} subset = set2.issubset(set1) print(subset) def set_superset(): set1 = {1, 2, 3, 4, 5} set2 = {2, 3, 4} superset = set1.issuperset(set2) print(superset) if __name__ == '__main__': create_set() add_element() remove_element() clear_set() set_union() set_intersection() set_difference() set_symmetric_difference() set_subset() set_superset()> Producción
{1, 2, 3, 4, 5} {1, 2, 3, 4, 5, 6} {1, 2, 4, 5} set() {1, 2, 3, 4, 5, 6} {4, 5} {1, 2, 3} {1, 2, 3, 6, 7, 8} True True> Ventajas de establecer en Python
- Elementos únicos : los conjuntos solo pueden contener elementos únicos, por lo que pueden resultar útiles para eliminar duplicados de una colección de datos.
- Prueba rápida de membresía : los conjuntos están optimizados para pruebas rápidas de membresía, por lo que pueden resultar útiles para determinar si un valor está en una colección o no.
- Operaciones de conjuntos matemáticos: Los conjuntos admiten operaciones matemáticas de conjuntos como unión, intersección y diferencia, que pueden resultar útiles para trabajar con conjuntos de datos.
- Mudable : Los conjuntos son mutables, lo que significa que puedes agregar o eliminar elementos de un conjunto después de haberlo creado.
Desventajas deConjuntos en Python
- desordenado : Los conjuntos están desordenados, lo que significa que no se puede confiar en el orden de los datos del conjunto. Esto puede dificultar el acceso o el procesamiento de datos en un orden específico.
- Funcionalidad limitada: Los conjuntos tienen una funcionalidad limitada en comparación con las listas, ya que no admiten métodos como append() o pop(). Esto puede hacer que sea más difícil modificar o manipular los datos almacenados en un conjunto.
- Uso de memoria: Los conjuntos pueden consumir más memoria que las listas, especialmente para conjuntos de datos pequeños. Esto se debe a que cada elemento de un conjunto requiere memoria adicional para almacenar un valor hash.
- Usado con menos frecuencia: Los conjuntos se utilizan con menos frecuencia que las listas y diccionarios en Python, lo que significa que puede haber menos recursos o bibliotecas disponibles para trabajar con ellos. Esto puede hacer que sea más difícil encontrar soluciones a los problemas u obtener ayuda con la depuración.
En general, los conjuntos pueden ser una estructura de datos útil en Python, especialmente para eliminar duplicados o para realizar pruebas rápidas de membresía. Sin embargo, su falta de ordenación y funcionalidad limitada también pueden hacerlos menos versátiles que las listas o los diccionarios, por lo que es importante considerar cuidadosamente las ventajas y desventajas de usar conjuntos al decidir qué estructura de datos usar en su programa Python.
Establecer métodos en Python
| Función | Descripción |
|---|---|
| agregar() | Agrega un elemento a un conjunto |
| eliminar() | Elimina un elemento de un conjunto. Si el elemento no está presente en el conjunto, genera un KeyError |
| claro() | Elimina todos los elementos de un conjunto. |
| Copiar() | Devuelve una copia superficial de un conjunto. |
| estallido() | Elimina y devuelve un elemento de conjunto arbitrario. Levante KeyError si el conjunto está vacío |
| actualizar() | Actualiza un conjunto con la unión de sí mismo y de 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 |
| actualización_diferencia() | Elimina todos los elementos de otro conjunto de este conjunto. |
| desechar() | Elimina un elemento del conjunto si es un miembro. (No haga nada si el elemento no está en el conjunto) |
| intersección() | Devuelve la intersección de dos conjuntos como un nuevo conjunto. |
| intersección_actualización() | Actualiza el conjunto con la intersección de sí mismo y otro. |
| es disjunto() | Devuelve Verdadero si dos conjuntos tienen una intersección nula |
| essubconjunto() | Devuelve True si otro conjunto contiene este conjunto |
| superconjunto() | Devuelve Verdadero 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 de otro. |
Artículos recientes sobre conjuntos de Python
Establecer programas
- Programa para aceptar las cadenas que contienen todas las vocales.
- Programa Python para encontrar elementos comunes en tres listas usando conjuntos
- Encuentre valores faltantes y adicionales en dos listas
- Pares de cuerdas completas en dos juegos.
- Comprobar si una cadena determinada es heterograma o no
- Máximo y mínimo en un conjunto
- Eliminar elementos del conjunto
- Diferencia de Python Set para encontrar elementos perdidos de una matriz duplicada
- Número mínimo de subconjuntos con elementos distintos usando Counter
- Compruebe si dos listas tienen al menos un elemento en común
- Programa para contar el número de vocales usando conjuntos en una cadena determinada
- Diferencia entre dos listas
- Python configurado para verificar si la cadena es panagrama
- Operaciones de conjuntos de Python (unión, intersección, diferencia y diferencia simétrica)
- Cadena concatenada con caracteres poco comunes en Python
- Diccionario de Python, conjunto y contador para comprobar si las frecuencias pueden volverse iguales
- Usando Set() en Python Pangram Checking
- Configure update() en Python para hacer la unión de n matrices
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