Gran problema de listas
Pablo Rey Sobral
pabloreysobral en gmail.com
Mie Dic 22 06:08:50 CET 2004
On Tue, 21 Dec 2004 18:16:57 -0500, Carlos Eduardo Sotelo Pinto
<csotelop en yahoo.es> wrote:
> Hola gente tengo tres listas y no se como manejarlas
> sucede lo siguiente
> tengo las lista1= [codigo,cantidad, precio]
> luego tengo la lista2=[codigo,cantidad, precio]
> y una lista final
> el problema es el diguiente
> primero adiciono la lista 1 a la listafinal, y luego la lista 2
> comparando que los codigos sean diferente, si son iguales los sumo en la
> lista total
El código que tienes abajo no soy capaz de entenderlo.
Para hacer lo que dices:
lista1 = [(cod, pre, can), (cod, pre, can), .....]
lista2 = [(cod, pre, can), (cod, pre, can), .....]
res = lista1
for x in lista2:
for y in res:
if y[0] = x[0]:
y[3] += x[3]
break # nos vamos ya que se supone que la
lista1 tiene códigos únicos
Seguramente se pueda hacer igual de bien con menos código y alguna
funcioncilla tipo map y una lambda o algo así.
> la idea es que estas listas son independientes, pero resulta un gran
> problema que cuando termino la lista1 es igual a la lista final
> este es mi codigo
>
> self.Services = None
> self.Services = []
> print self.PrdHasFall
>
> for p in self.PrdHasFall:
> self.Services.append(p)
>
> if self.Products:
> for r in self.Products:
> f=0
> for s in self.Services:
> print self.PrdHasFall
> if s[0] == r[0]:
> if s[3] >= 0:
> s[3] = int(s[3]) + int(r[3])
> f=1
> if f==0:
> self.Services.append(r)
> print self.PrdHasFall + "---"
>
> print self.PrdHasFall
> self.lstProducts.Clear()
> Total = 0
> print'----'
> for x in self.Services:
> self.lstProducts.Append(str(x[1])+'-'+str(x[2]), x[0])
> Total = Total + (int(x[2]) * int(x[3]))
> self.txtProductTotal.SetValue(str(Total))
>
> self.txtContractTotal.SetValue(str(Total+int(self.txtFallTotal.GetValue())))
>
> _______________________________________________
> Python-es mailing list
> Python-es en aditel.org
> http://listas.aditel.org/listinfo/python-es
>
Más información sobre la lista de distribución Python-es