Conjuntos en Julia

Set en Julia es una colección de elementos al igual que otras colecciones como arrays, diccionarios, etc. Los conjuntos son diferentes de las arrays porque los conjuntos son colecciones desordenadas de elementos únicos, mientras que el orden de los elementos se recuerda estrictamente en Arrays. Además, las arrays y los diccionarios pueden contener valores duplicados, pero los conjuntos no. Cada elemento de un conjunto debe ser único. Los conjuntos son tipos de datos mutables, lo que significa que sus valores se pueden modificar, eliminar, sobrescribir, etc. 

Los conjuntos pueden contener elementos de cualquier tipo de datos. Al igual que otras colecciones, en Julia no es obligatorio definir el tipo de datos de un conjunto antes de la declaración de los elementos. Julia analiza automáticamente los elementos y define el tipo de datos del Conjunto. Julia no permite acceder a los elementos de un conjunto individualmente porque es una colección desordenada y, por lo tanto, no hay un índice fijo de ningún elemento. 

Sets-in-Julia

Crear un conjunto

Se puede crear un conjunto en Julia con una palabra clave predefinida Set() . Esta palabra clave acepta elementos colocados entre corchetes ([]) y crea un conjunto definiendo su tipo de datos en función del tipo de datos de los elementos. 

Sintaxis: 

Set_name = Set([Value1, Value2, Value3, ....]) 

Julia

# Julia program to illustrate
# the use of Sets
 
# Creating an empty set
Set1 = Set()
println("Empty Set: ", Set1)
 
# Creating a set with Integer values
Set2 = Set([1, 2, 3, 4, 5, 2, 4, 6])
println(Set2)
 
# Creating a set with mixed datatypes
Set3 = Set([1, 2, 3, "Hello", "Geeks"])
println(Set3)

Producción: 

Sets-in-Julia-Output-01

Acceso a elementos en un conjunto

No se puede acceder a los elementos del conjunto haciendo referencia a un valor de índice, dado que los conjuntos no están ordenados, los elementos no tienen un índice fijo. 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() .

Julia

# Julia program to demonstrate
# Accessing of elements in a set
   
# Creating a set
Set1 = Set(["Geeks", "For", "Geeks"])
println("\nInitial set:")
println(Set1)
   
# Accessing element using
# for loop
println("\nElements of set: ")
for i in Set1
    println(i)
end
   
# Checking the element
# using in keyword
println(in("For", Set1))

Producción: 

Sets-in-Julia-Output-02

Métodos para conjuntos

Adición de nuevos elementos:

Los conjuntos son colecciones de tipos mutables en Julia, por lo tanto, sus valores se pueden modificar con el uso de ciertas palabras clave predefinidas. Julia permite agregar nuevos elementos en un conjunto con el uso de ‘push!’ dominio. Agregar elementos a un conjunto es bastante similar a agregar elementos en una array, la única diferencia es que, a diferencia de las arrays, los elementos de un conjunto no se pueden agregar en un índice específico porque los conjuntos no están ordenados.  

Sintaxis: 

push!(Set_name, Value)

Python

# Julia program to demonstrate
# Accessing of elements in a set
    
# Creating a set
Set1 = Set(["Hello", "Geeks", 10])
println("\nInitial set:")
println(Set1)
  
# Adding an element to the set
Set1 = push !(Set1, "Welcome")
println("\nSet after adding one element:\n", Set1)
  
# Adding a range of elements
# using for loop
for i in 1:5
    push !(Set1, i)
end
println("\nSet after adding range of elements:\n", Set1)

Producción: 

Sets-in-Julia-Output-03

Unión de Conjuntos:

Julia permite fusionar elementos de dos conjuntos con el uso de la palabra clave ‘unión’ . La operación de unión toma ambos conjuntos como argumento y da el resultado como otro conjunto que tiene elementos de ambos conjuntos. Los valores reales de ambos conjuntos no cambian a menos que el valor devuelto se almacene en cualquiera de los dos conjuntos. ¡ Hay otra variante de la función de unión que es la unión! . Ambas palabras clave realizan operaciones similares, pero la única diferencia es que la unión! La función sobrescribirá el conjunto existente con el nuevo conjunto fusionado. 

Sintaxis: 

union(Set1, Set2)
or 
union!(Set1, Set2)

Ejemplo 1: Realización de la operación de unión 

Python

# Julia program to demonstrate
# Accessing of elements in a set
   
# Creating a set
Set1 = Set(["Hello", "Geeks", 10])
println("\nSet1:")
println(Set1)
 
# Creating another set
Set2 = Set([1, 2, 3, 4])
println("\nSet2:")
println(Set2)
 
# Performing Merge using union operation
println("\nMerged Set after union Operation:")
println(union(Set1, Set2))
 
# Existing set after union operation
println("\nSet1 after union operation:")
println(Set1)

Producción: 

Sets-in-Julia-Output-04

Ejemplo 2: ¡Realización de unión! operación  

Python3

# Sets taken from previous example
 
# Performing Merge using union ! operation
println("\nMerged Set after union ! Operation:")
println(union !(Set1, Set2))
 
# Existing set after union ! operation
println("\nSet1 after union ! operation:")
println(Set1)

Producción: 

Sets-in-Julia-Output-05

Como se puede ver en el código anterior, union! Después de realizar la operación de combinación, el operador actualizó el contenido existente del Conjunto 1, pero el operador de unión no realiza ningún cambio en los conjuntos existentes y solo realiza la operación de combinación. 

Intersección de Conjuntos

Julia permite encontrar elementos comunes de dos conjuntos con el uso de la palabra clave ‘intersect’ . La operación de intersección toma ambos conjuntos como argumento y da el resultado como otro conjunto que tiene elementos comunes a ambos conjuntos. Los valores reales de ambos conjuntos no cambian a menos que el valor devuelto se almacene en cualquiera de los dos conjuntos. ¡ Hay otra variante de la función de intersección que es la intersección! . Ambas palabras clave realizan operaciones similares, pero la única diferencia es que se cruzan. La función sobrescribirá el conjunto existente con el nuevo conjunto intersectado.

Sintaxis:  

intersect(Set1, Set2)
or 
intersect!(Set1, Set2)

Ejemplo 1: Realización de la operación de intersección  

Python

# Julia program to demonstrate
# Accessing of elements in a set
   
# Creating a set
Set1 = Set(["Hello", "Geeks", 1, 2, 3])
println("\nSet1:")
println(Set1)
 
# Creating another set
Set2 = Set([1, 2, 3, 4, "Geeks"])
println("\nSet2:")
println(Set2)
 
# Performing intersection using 'intersect' operation
println("\nSet after intersect Operation:")
println(intersect(Set1, Set2))
 
# Existing set after intersect operation
println("\nSet1 after intersect operation:")
println(Set1)

Producción: 

Sets-in-Julia-Output-06

Ejemplo 2: ¡Interpretando intersect! operación 

Python3

# Performing intersection using 'intersect !' operation
println("\nSet after intersect ! Operation:")
println(intersect !(Set1, Set2))
 
# Existing set after intersect ! operation
println("\nSet1 after intersect ! operation:")
println(Set1)

Producción: 

Sets-in-Julia-Output-07

Como se puede ver en el código anterior, intersect! El operador después de realizar la intersección actualizó el contenido existente del Conjunto 1, pero el operador de intersección no realiza ningún cambio en los conjuntos existentes y solo realiza la intersección. 

Diferencia entre dos conjuntos

Julia permite encontrar diferentes elementos entre dos conjuntos con el uso de la palabra clave ‘setdiff’ . Este operador toma ambos conjuntos como argumento y da el resultado como otro conjunto que tiene diferentes elementos de ambos conjuntos. Los valores reales de ambos conjuntos no cambian a menos que el valor devuelto se almacene en cualquiera de los dos conjuntos. ¡ Hay otra variante de la función setdiff que es setdiff! . Ambas palabras clave realizan operaciones similares, pero la única diferencia es que setdiff! La función sobrescribirá el conjunto existente con el nuevo conjunto.

Sintaxis: 

setdiff(Set1, Set2)
or 
setdiff!(Set1, Set2)

Ejemplo 1: Realización de la operación setdiff 

Python

# Julia program to demonstrate
# Accessing of elements in a set
   
# Creating a set
Set1 = Set(["Hello", "Geeks", 1, 2, 3])
println("\nSet1:")
println(Set1)
 
# Creating another set
Set2 = Set([1, 2, 3, 4, "Geeks"])
println("\nSet2:")
println(Set2)
 
# Finding Difference using 'setdiff' operation
println("\nSet after 'setdiff' Operation:")
println(setdiff(Set1, Set2))
 
# Existing set after 'setdiff' operation
println("\nSet1 after 'setdiff' operation:")
println(Set1)

Producción: 

Sets-in-Julia-Output-08

  Ejemplo 2: Ejecución de setdiff! operación 

Python3

# Finding Difference using 'setdiff !' operation
println("\nSet after 'setdiff !' Operation:")
println(setdiff !(Set1, Set2))
 
# Existing set after 'setdiff !' operation
println("\nSet1 after 'setdiff !' operation:")
println(Set1)

Producción: 

Sets-in-Julia-Output-09

Como se puede ver en el código anterior, setdiff! El operador después de realizar la operación actualizó el contenido existente del Set1, pero el operador setdiff no realiza ningún cambio en los conjuntos existentes y solo proporciona el conjunto de elementos diferentes.

Quitar elementos de un Conjunto:

Eliminar elementos de un conjunto es una tarea bastante más fácil. Julia proporciona una palabra clave predefinida ‘eliminar!’ para eliminar un elemento específico de un conjunto. Al igual que el proceso de adición, la eliminación de elementos no es posible de ningún índice específico debido a su naturaleza desordenada. ¡ El elemento exacto debe pasarse a la eliminación! funcionar como un argumento para eliminarlo del conjunto.

Sintaxis: 

delete!(Set_name, value)

Python

# Julia program to demonstrate
# Accessing of elements in a set
   
# Creating a set
Set1 = Set(["Hello", "Geeks", 1, 2, 3])
println("\nInitial set:")
println(Set1)
 
# Removing an element from the set
Set1 = delete !(Set1, "Hello")
println("\nSet after deleting one element:\n", Set1)
 
# Deleting whole set
for i in Set1
    Set1 = delete !(Set1, i)
end
 
println("\nEmpty set after deleting all elements:\n", Set1)

Producción: 

Sets-in-Julia-Output-10

Establecer métodos

Métodos Descripción
intersecarse() Se utiliza para construir la intersección de los conjuntos especificados.
¡intersecarse!() Se usa para intersectar todos los conjuntos pasados ​​y sobrescribir s con el resultado
issetequal() Se utiliza para determinar si los dos conjuntos especificados a y b tienen los mismos elementos o no.
establecer diferencia() Se utiliza para devolver los elementos que están en el primer conjunto pero no en el segundo conjunto
diferencia!() Se usa para eliminar cada elemento de set s que también está en el iterable especificado
symdiff() Se utiliza para construir la diferencia simétrica de elementos en los conjuntos pasados.
symdiff!() Se utiliza para construir la diferencia simétrica de los conjuntos pasados ​​y sobrescribir los conjuntos especificados con el resultado
Unión() Se utiliza para construir la unión de los conjuntos especificados.
¡Unión!() Se utiliza para construir la unión de conjuntos pasados ​​y sobrescribir s con el resultado

Publicación traducida automáticamente

Artículo escrito por Abhinav96 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *