Có cách nào đơn giản và nhanh chóng để sử dụng tổng() với các giá trị không nguyên?Giá trị sum() và số nguyên python
Vì vậy, tôi có thể sử dụng nó như thế này:
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
Tôi đã cố gắng trọng __add__
và __int__
vv, nhưng tôi không đã tìm thấy một giải pháp được nêu
EDIT:
Các giải pháp là triển khai:
def __radd__(self, other):
return other + self.bar
như Will đề xuất trong bài đăng của anh ấy. Nhưng như mọi khi, tất cả các con đường đều dẫn đến Rome, nhưng tôi nghĩ rằng đây là giải pháp tốt nhất kể từ khi tôi không cần __add__
trong lớp học của tôi
Tôi nghĩ rằng việc triển khai __radd__ là giải pháp tốt nhất, vì nó không cần map(), reduce() hoặc nhập các mô-đun bổ sung. – sloth