Python - Comparar listas

 
Vista:
sin imagen de perfil
Val: 4
Ha disminuido su posición en 20 puestos en Python (en relación al último mes)
Gráfica de Python

Comparar listas

Publicado por chit00 (3 intervenciones) el 13/09/2019 20:14:16
Hola, dada la siguiente lista:
lista1=[["a",1],["b",1],["c",1],["a",4],["b",7]]

Como puedo hacer para obtener la siguiente salida:
[["a",5],["b",8],["c",1]]

Osea comparar el primer subelemento de los elementos de la lista, si son iguales sumar el segundo subelemento de los repetidos y unificar los elementos, para agregarlos a la lista junto con los que no se repiten.
Queria saber si se puede hacer con listas o tuplas, logre hacerlo con diccionarios, pero queria saber si se puede con listas ya que no logro dar con el codigo. Soy nuevo en esto se agradece cualquier tipo de ayuda.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Hector Madriz
Val: 361
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Comparar listas

Publicado por Hector Madriz (69 intervenciones) el 13/09/2019 22:18:27
Buen día, prueba esto:

1
2
3
4
5
6
7
lista1,lista2=[["a",1],["b",1],["c",1],["a",4],["b",7]],[]
for Cont in sorted(set([Cont2[0] for Cont2 in lista1])):
    Suma=0
    for Cont3 in lista1:
        if Cont in Cont3[0]: Suma +=Cont3[1]
    lista2.append([str(Cont),Suma])
print(lista2)


Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
2
Comentar
sin imagen de perfil
Val: 4
Ha disminuido su posición en 20 puestos en Python (en relación al último mes)
Gráfica de Python

Comparar listas

Publicado por chit00 (3 intervenciones) el 14/09/2019 03:57:33
Muchas gracias por la respuesta, usando conjuntos tambien puedo resolverlo entonces.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar