Existe-t-il un moyen simple et rapide d'utiliser sum() avec des valeurs non entières?Les valeurs sum() et non-entiers de python
Je peux l'utiliser comme ceci:
class Foo(object):
def __init__(self,bar)
self.bar=bar
mylist=[Foo(3),Foo(34),Foo(63),200]
result=sum(mylist) # result should be 300
J'ai essayé et remplaçant __add__
__int__
etc, mais je ne l'ai pas trouvé une solution encore
EDIT:
Le la solution est de mettre en œuvre:
def __radd__(self, other):
return other + self.bar
comme Will a suggéré dans son post. Mais comme toujours, tous les chemins mènent à Rome, mais je pense que cela est la meilleure solution car je ne ai pas besoin __add__
dans ma classe
Je pense que l'implémentation de __radd__ est la meilleure solution, car elle n'a pas besoin de map(), de reduce() ou d'importation de modules supplémentaires. – sloth