cuốn sách gpt4 ai đã làm

python — Làm cách nào để tính tổng (tổng) nhiều thuộc tính đối tượng trong một vòng lặp?

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 07:07:46 26 4
mua khóa gpt4 Nike

Tôi muốn tính tổng nhiều thuộc tính cùng một lúc trong một vòng lặp:

classSome(đối tượng):
def __init__(self, acounter, bcounter):
self.acounter = acounter
self.bcounter = bcounter

someList = [Some(x, x) cho x trong phạm vi (10)]

Tôi có thể làm điều gì đó đơn giản và nhanh hơn thế này không?

atotal = sum([x.acounter for x in someList])
btotal = sum([x.bcounter for x in someList])

câu trả lời hay nhất

Đầu tiên - tổng hợp Không cần danh sách - thay vào đó bạn có thể sử dụng biểu thức trình tạo:

atotal = sum(x.acounter for x in someList)

Bạn có thể viết một hàm trợ giúp để tìm kiếm danh sách một lần rồi tìm từng thuộc tính theo thứ tự từng mục, ví dụ:

def multisum(iterable, *attributes, **kwargs):
sums = dict.fromkeys(thuộc tính, kwargs.get('start', 0))
cho nó trong lần lặp:
cho attr trong thuộc tính:
tổng[attr] += getattr(it, attr)
trả lại số tiền

số lượng = multisum(someList, 'acounter', 'bcounter')
# {'bộ đếm': 45, 'bộ đếm': 45}

Làm cách nào để tính tổng (tổng) nhiều thuộc tính đối tượng trong một vòng lặp? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/32035495/

26 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress