Foros del Web » Programando para Internet » Python »

Conjuntos

Estas en el tema de Conjuntos en el foro de Python en Foros del Web. Muy buenas a la comunidad de forosdelweb este es mi segundo foro, en el primero me ayudaron bastante con un pequeño problemita en python y ...
  #1 (permalink)  
Antiguo 23/10/2009, 11:59
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 6 meses
Puntos: 0
Sonrisa Conjuntos

Muy buenas a la comunidad de forosdelweb este es mi segundo foro, en el primero me ayudaron bastante con un pequeño problemita en python y me imagino que a muchos les sirvió bueno aquí tengo una pequeña duda:
Anteriormente yo realice este código en Java pero cuando lo intente hacer en Python me di cuenta que en la Sintaxis es totalmente distinta con respecto a la comparación de String (compareTo, .equals etc) los cuales por ser nuevo en Python no se si existan.
Ahora ya aclarada ciertas cosas estoy realizando un programa que realice Unión, Intersección, Diferencia de conjuntos.

1.Pido como valor de entrada 2 String (Conjunto A, Conjunto B)
2.luego le pregunto al usuario que desea hacer(me refiero a las operaciones)
Ya explicado esto aclaro que ya investigue sobre la función set() para realizar operaciones de conjuntos pero quiero hacerlas con Ciclos
Ahora yo realizo la función len() para saber la longitud de los sring y poder compararlos con un ciclo for PERO NO SE COMO COMPARARLOS para formar el nuevo conjunto C ya que el Ciclo for en Java es distinto al de Python (en como se escribe)
Si tienen confusiones con lo que digo aquí les muestro el comportamiento con ejemplo de conjuntos(pequeño repasito):

Primer conjunto : A={1,2,3}
Segundo Conjunto: B={2,3,4}

AUB={1,2,3,4} (Union)
A interseccion B={2,3}
A-B={1} (Diferencia)

De antemano Gracias por ayudarme a entender este gran lenguaje
Sin mas nada que decir me despido
  #2 (permalink)  
Antiguo 23/10/2009, 13:25
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Conjuntos

eso es muy fácil
Código python:
Ver original
  1. A = set([1, 2, 3])
  2. B = set([2, 3, 4])
  3. C = A.union(B)
  4. print C
  5. C = A.intersection(B)
  6. print C
  7. C = A.difference(B)
  8. print C

Te recomiendo leer un poco mas documentación http://docs.python.org/library/stdtypes.html#set
  #3 (permalink)  
Antiguo 23/10/2009, 18:03
 
Fecha de Ingreso: octubre-2009
Mensajes: 4
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Conjuntos

Gracias por sus prontas respuestas y comprendo todo lo que me han indicado pero el detalle es el siguiente:
Los valores de entradas que Recibo del usuario es EXACTAMENTE ASI A={1,2,3} con esas llaves no con las otras y debo hacerlo con PURO CICLOS y ahi es la duda que plante al principio como puedo haces esas operaciones usando ciclos?
  #4 (permalink)  
Antiguo 23/10/2009, 21:15
Avatar de razpeitia
Moderador
 
Fecha de Ingreso: marzo-2005
Ubicación: Monterrey, México
Mensajes: 7.321
Antigüedad: 19 años, 1 mes
Puntos: 1360
Respuesta: Conjuntos

Claro que si las mismas operaciones de set pero con CICLOS
Código python:
Ver original
  1. def difference(a, b):
  2.     return [i for i in a if not(i in b)]
  3.  
  4. def intersection(a, b):
  5.     return [i for i in a if i in b]

PD: Te dejo la unión de tarea :P
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:19.