Skip to content

Commit 57ef59f

Browse files
committed
feat: #18-Python
Reto #18-Python realizado por mrodara
1 parent a0d4843 commit 57ef59f

File tree

1 file changed

+102
-0
lines changed

1 file changed

+102
-0
lines changed
+102
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
############################################### CONJUNTOS EN PYTHON ###################################################################
2+
3+
# Para la definición de un conjunto de datos usaremos {} o la función set()
4+
# Los conjuntos no pueden tener elementos repetidos y no es necesario que estén ordenados
5+
# Los conjuntos no pueden tener elementos que no sean inmutables (no pueden ser modificados)
6+
7+
c1 = {1,2,3,7,5}
8+
9+
# Agregar un elemento
10+
c1.add(6)
11+
12+
print(c1)
13+
14+
# Eliminar un elemento
15+
c1.remove(7) # Da error si no existe el elemento dentro del conjunto
16+
print(c1)
17+
18+
# Podemos eliminar y no generar error si el elemento no existe con discard
19+
c1.discard(7)
20+
21+
# Vaciar completamente el conjunto con clear
22+
c1.clear()
23+
24+
# Operaciones matemáticas de conjutos (union | intersección & diferencia - diferencia simétrica ^)
25+
c1 = {1,2,3,7,5}
26+
c2 = {1,2,3,7,8}
27+
28+
print(f"Unión: {c1 | c2}")
29+
print(f"Intersección: {c1 & c2}" )
30+
print(f"Diferencia: {c1 - c2}")
31+
print(f"Diferencia simétrica: {c1 ^ c2}")
32+
33+
34+
# Ejercicio
35+
36+
c2 = {3,5,2,1}
37+
print(c2)
38+
39+
c2.add(7) # Añade un elemento
40+
print(c2)
41+
42+
'''
43+
En Python, los conjuntos (set) son colecciones desordenadas, por lo que no tienen un concepto de "inicio" o "final".
44+
Los elementos no se almacenan en un orden específico. Por esta razón,
45+
no podemos "añadir un elemento al inicio" como lo haríamos con una lista.
46+
47+
Podemos convertir el conjunto en lista, añadir, eliminar etc en las posiciones que queramos y posteriormente convertila
48+
a un conjunto
49+
'''
50+
51+
c2_list = list(c2)
52+
53+
print(type(c2_list))
54+
print(len(c2_list))
55+
56+
c2_list.extend([i for i in range(11,21)]) # Añadimos varios elementos en bloque a la lista
57+
c2_list[5] = 1000 # Actualizamos el valor en una posición concreta
58+
c2 = set(c2_list) # Acabamos de añadir varios elementos en bloque a un conjunto
59+
60+
print(c2)
61+
62+
# Si queremos eliminar uno o varios elementos concretos de un conjunto tendríamos que operar de la misma forma
63+
c2_list = list(c2)
64+
65+
c2_list.pop() # Para eliminar un elemento
66+
c2_list.pop(0) # Para eliminar un elemento en una posición concreta
67+
c2_list.remove(12) # Para eliminar un elemento concreto
68+
69+
c2 = set(c2_list)
70+
print(c2)
71+
72+
# Comprobaciones de pertenencia
73+
print(1 in c2)
74+
print(1000 in c2)
75+
print(12 in c2)
76+
77+
# Por último limpiar todo el conjunto
78+
c2.clear()
79+
80+
print(c2)
81+
82+
83+
84+
############################################### EJERCICIO EXTRA ###################################################################
85+
# Mostrar operaciones con conjuntos:
86+
l1 = [i for i in range(1, 100)]
87+
l2 = [i for i in range(50, 150)]
88+
c1 = set(l1)
89+
c2 = set(l2)
90+
91+
print(c1)
92+
print(c2)
93+
94+
print(f"Union: {c1.union(c2)}")
95+
print(f"Intersección: {c1.intersection(c2)}")
96+
print(f"Diferencia: {c1.difference(c2)}")
97+
print(f"Diferencia simétrica: {c1.symmetric_difference(c2)}")
98+
99+
100+
############################################### FIN EJERCICIO EXTRA ###################################################################
101+
102+
############################################### FIN CONJUNTOS EN PYTHON ###################################################################

0 commit comments

Comments
 (0)