Como reduzir em uma lista de tuplas em python

Eu tenho uma matriz e quero contar a ocorrência de cada item na matriz.

Consegui usar uma função de mapa para produzir uma 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 a função reduzir possa me ajudar a agrupar contagens pelo primeiro número (id) em cada tupla. Por exemplo:

(11817685, 2), (2014036792, 1), (2014047115, 1)

eu tentei

cnt = reduce(lambda a, b: a + b, r);

e algumas outras maneiras, mas todas elas não funcionam.

NOTA Obrigado por todos os conselhos sobre outras maneiras de resolver os problemas, mas estou apenas aprendendo Python e como implementar uma redução de mapa aqui, e simplifiquei muito meu problema real de negócios para facilitar a compreensão, por favor, por favor mostre-me uma maneira correta de reduzir o mapa.

questionAnswers(4)

yourAnswerToTheQuestion