El 25 de septiembre de 2014, 0:25, Peon Blanco <peonblanc...@gmail.com> escribió:
> Alguien me podría orientar. > > ya que a un no e podido resolver el problema de que me repita los id. > Supongamos que tienes los datos en la variable "Todo" y que tenemos una función llamada "casable" que valida si dos elementos son compatibles. Por ejemplo: def casable(i,j): return i[2] != j[2] and -80 <= i[1]-j[1] <= 80 Definimos dos secuencias: # ids disponibles para chequear disponibles = {x[0] for x in Todo} # pares a chequear from itertools import combinations pares = [(i,j) for (i,j) in combinations(Todo,2) if casable(i,j)] # procesamos la lista de pares: for (i,j) in pares: if {i[0],j[0]} <= disponibles: Guarda_par(i[0],j[0]) disponibles -= {i[0],j[0]} # dejan de estar disponibles Así obtendrás una solución de la múltiples posibles. Con toda probabilidad, no será la mejor. > El 22 de septiembre de 2014, 22:44, Peon Blanco <peonblanc...@gmail.com> > escribió: > > Agrandes rasgos leo registro por registro y voy comparando. >> si me pueden dar una idea para que esto sea aleatorio se los agradecería. >> >> BASE DE DATOS SQLITE >> >> ID PESO PERTENECE STATUS >> 1 2000 dueño NO >> 2 2100 dueño NO >> 3 2220 dueño NO >> 4 2000 dueño1 NO >> 5 2100 dueño1 NO >> 6 2200 dueño1 NO >> 7 2200 dueño2 NO >> 8 2080 dueño2 NO >> 9 2180 dueño2 NO >> >> Codigo. >> >> Todo=Casatodo() #funcio para traer todos los datos de sqlite filtrando el >> status como "NO" >> for x in Todo: #Lo paso el for para leer 1 x 1 >> for i in Todo: #otro for para hacer las comparaciones >> if x[0] == i[0]: #Valida si es el mismo registro, si es igual >> solo pasamos >> continue >> else: >> if x[2] == i[2]: #Valida si es del mismo partido, si es igual >> solo pasamos >> continue >> else: >> mas80=int(x[1])+80 #Tolerancia de peso mayor >> menos80=int(x[1])-80 #Tolerancia de peso menor >> if int(i[1]) > menos80 and int(i[1]) < mas80: # Valida >> que se cumpla la condición de diferencia de pero ya sea mayor o menor >> Guarda_par(x[0],i[0]) #Guardo en una tabla diferente >> los pares >> Actualizacasa(x[0]) # Solo agrego un "SI" al estatus >> Actualizacasa(i[0]) # Solo agrego un "SI" al estatus >> TODO=CASATODOS() #vuelvo a leer los datos para seguir >> comparando >> break >> >> >> este código me regresa los siguientes pares. >> >> 1 4 -- Bien >> 2 5 -- Bien >> 3 6 -- Bien >> 5 8 -- Mal 5 repetido >> 6 7 -- Mal 6 repetido >> >> >> >> >> El 22 de septiembre de 2014, 15:32, Francisco Palm < >> francisco.p...@gmail.com> escribió: >> >> >>> Para una tabla de esas características, aplicar filtros (que obviamente >>> tienes que diseñar el algoritmo según tus necesidades, no parece >>> complicado), un módulo interesante es Pandas http://pandas.pydata.org/ >>> >>> Saludos >>> >>> F. Palm >>> >>> >>> 2014-09-22 14:31 GMT-04:30 Peon Blanco <peonblanc...@gmail.com>: >>> >>>> Hola buenas tardes expongo el siguiente problema ya que no se que >>>> modulo usar. >>>> >>>> tengo algo como esto >>>> >>>> ID Peso Pertenece >>>> 76 1800 1 >>>> 77 1860 2 >>>> 78 1850 1 >>>> 79 1910 3 >>>> >>>> necesito algo que valide estos datos haciendo una comparación. >>>> >>>> que el peso no sobrepase 80 gr y que no pertenezca al mismo(Pertenece). >>>> >>>> el ejemplo anterior debería de queda así. >>>> ID ID >>>> 76 - 77 - se cumple la regla de los 80 gr (con el ID 78 se cumple la >>>> regla de los gramos pero pertenecen al mismo (Pertenece)) >>>> 78 - 79 >>>> >>>> me pueden orientar en que modulo usar. >>>> >>>> _______________________________________________ >>>> Python-es mailing list >>>> Python-es@python.org >>>> https://mail.python.org/mailman/listinfo/python-es >>>> FAQ: http://python-es-faq.wikidot.com/ >>>> >>>> >>> >>> >>> -- >>> -------------------------------------- >>> fp...@mapologo.org.ve >>> francisco.p...@gmail.com >>> >>> cel: +58 +424 7228252 >>> tel: +58 +274 6352001 >>> >>> ---- >>> Debemos ser libres, no para hacer lo que nos plazca, sino libres para >>> comprender muy profundamente nuestros propios instintos e impulsos. K >>> >>> _______________________________________________ >>> Python-es mailing list >>> Python-es@python.org >>> https://mail.python.org/mailman/listinfo/python-es >>> FAQ: http://python-es-faq.wikidot.com/ >>> >>> >> > > _______________________________________________ > Python-es mailing list > Python-es@python.org > https://mail.python.org/mailman/listinfo/python-es > FAQ: http://python-es-faq.wikidot.com/ > > -- Hyperreals *R "Quarks, bits y otras criaturas infinitesimales": http://ch3m4.org/blog Buscador Python Hispano: http://ch3m4.org/python-es
_______________________________________________ Python-es mailing list Python-es@python.org https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/