Réduire de clés en python

Je suis en train de réfléchir à la manière la plus efficace de le faire en python.

Supposons que j'ai une liste de tuples:

[('dog',12,2), ('cat',15,1), ('dog',11,1), ('cat',15,2), ('dog',10,3), ('cat',16,3)]

Et supposons que j'ai une fonction qui prend deux de ces n-uplets et les combine:

def my_reduce(obj1, obj2):
    return (obj1[0],max(obj1[1],obj2[1]),min(obj1[2],obj2[2]))

Comment puis-je effectuer un efficace, réduire les par la "clef" où est la clé ici pourrait être la première valeur, de sorte que le résultat final serait quelque chose comme:

[('dog',12,1), ('cat',16,1)]
  • vouliez-vous dire min(obj1[2],obj2[2])
  • bonne prise, merci! Je l'ai fixée ci-dessus
  • cela ressemble à quelque chose de bien adapté pour les pandas
  • Hey @mgoldwasser, 2 ans de retard, mais voici une autre façon: stackoverflow.com/a/48343896/5858851. BTW, je suis l'ancien collègue de travail, vous pensez que je suis.
InformationsquelleAutor mgoldwasser | 2015-04-29