Cómo reducir en una lista de tuplas en python
Tengo una matriz y quiero contar la aparición de cada elemento en la matriz.
He logrado usar una función de mapa para producir una lista de tuplas.
def mapper(a):
return (a, 1)
r = list(map(lambda a: mapper(a), arr));
//output example:
//(11817685, 1), (2014036792, 1), (2014047115, 1), (11817685, 1)
Espero que la función de reducción pueda ayudarme a agrupar los recuentos por el primer número (id) en cada tupla. Por ejemplo:
(11817685, 2), (2014036792, 1), (2014047115, 1)
Lo intenté
cnt = reduce(lambda a, b: a + b, r);
y algunas otras formas, pero no todos hacen el truco.
NOTA Gracias por todos los consejos sobre otras formas de resolver los problemas, pero solo estoy aprendiendo Python y cómo implementar una reducción de mapas aquí, y he simplificado mucho mi problema comercial real para que sea fácil de entender, así que por favor amablemente muéstrame una forma correcta de hacer map-reduce.