Hướng dẫn how do you sum a dictionary in python? - làm thế nào để bạn tổng hợp một từ điển trong python?

Giả sử tôi có một từ điển trong đó các phím ánh xạ cho các số nguyên như:

d = {'key1': 1,'key2': 14,'key3': 47}

Có một cách tối giản về mặt cú pháp để trả về tổng của các giá trị trong ____ 13 13.e.e.

sum(d.values())
4 trong trường hợp này?

Hướng dẫn how do you sum a dictionary in python? - làm thế nào để bạn tổng hợp một từ điển trong python?

Martineau

Huy hiệu vàng 116K2525 gold badges161 silver badges287 bronze badges

hỏi ngày 2 tháng 2 năm 2011 lúc 23:01Feb 2, 2011 at 23:01

2

Như bạn mong đợi:

sum(d.values())

Đã trả lời ngày 2 tháng 2 năm 2011 lúc 23:02Feb 2, 2011 at 23:02

Phihagphihagphihag

270K68 Huy hiệu vàng442 Huy hiệu bạc465 Huy hiệu Đồng68 gold badges442 silver badges465 bronze badges

5

Trong Python 2, bạn có thể tránh tạo một bản sao tạm thời của tất cả các giá trị bằng cách sử dụng phương thức từ điển

sum(d.values())
5, trả về một trình lặp của các khóa của từ điển:

sum(d.itervalues())

Trong Python 3, bạn chỉ có thể sử dụng

sum(d.values())
6 vì phương pháp đó đã được thay đổi để làm điều đó (và
sum(d.values())
5 đã bị xóa vì nó không còn cần thiết nữa).

Để làm cho việc viết mã độc lập phiên bản dễ dàng hơn, luôn lặp lại các giá trị của các khóa của từ điển, một hàm tiện ích có thể hữu ích:

import sys

def itervalues(d):
    return iter(getattr(d, ('itervalues', 'values')[sys.version_info[0]>2])())

sum(itervalues(d))

Đây thực chất là những gì mô -đun

sum(d.values())
8 của Benjamin Peterson làm.

Đã trả lời ngày 2 tháng 2 năm 2011 lúc 23:18Feb 2, 2011 at 23:18

Hướng dẫn how do you sum a dictionary in python? - làm thế nào để bạn tổng hợp một từ điển trong python?

Martineaumartineaumartineau

Huy hiệu vàng 116K2525 gold badges161 silver badges287 bronze badges

1

hỏi ngày 2 tháng 2 năm 2011 lúc 23:01

Như bạn mong đợi:

Hướng dẫn how do you sum a dictionary in python? - làm thế nào để bạn tổng hợp một từ điển trong python?

Đã trả lời ngày 2 tháng 2 năm 2011 lúc 23:02Feb 2, 2011 at 23:04

vz0vz0vz0

Phihagphihag7 gold badges40 silver badges75 bronze badges

d = {'key1': 1,'key2': 14,'key3': 47}
sum1 = sum(d[item] for item in d)
print(sum1)

270K68 Huy hiệu vàng442 Huy hiệu bạc465 Huy hiệu Đồng

Trong Python 2, bạn có thể tránh tạo một bản sao tạm thời của tất cả các giá trị bằng cách sử dụng phương thức từ điển

sum(d.values())
5, trả về một trình lặp của các khóa của từ điển:Jul 12, 2018 at 15:59

Trong Python 3, bạn chỉ có thể sử dụng

sum(d.values())
6 vì phương pháp đó đã được thay đổi để làm điều đó (và
sum(d.values())
5 đã bị xóa vì nó không còn cần thiết nữa).

Để làm cho việc viết mã độc lập phiên bản dễ dàng hơn, luôn lặp lại các giá trị của các khóa của từ điển, một hàm tiện ích có thể hữu ích:

reduce(lambda x,y:x+y,d.values())

Hướng dẫn how do you sum a dictionary in python? - làm thế nào để bạn tổng hợp một từ điển trong python?

Đây thực chất là những gì mô -đun

sum(d.values())
8 của Benjamin Peterson làm.

Đã trả lời ngày 2 tháng 2 năm 2011 lúc 23:1822 gold badges50 silver badges89 bronze badges

MartineaumartineauJan 8, 2019 at 5:12

0

Chắc chắn có. Đây là một cách để tổng hợp các giá trị của từ điển.

>>> d = {'key1':1,'key2':14,'key3':47}
>>> sum(d.values())
62

d = {'key1':1,'key2':14,'key3':47}
values = d.values()
#Return values of a dictionary    
total = sum(values)
print(total)

Đã trả lời ngày 2 tháng 2 năm 2011 lúc 23:04Dec 24, 2020 at 4:11

Hướng dẫn how do you sum a dictionary in python? - làm thế nào để bạn tổng hợp một từ điển trong python?

sum(d.values())
9

  • 31.7K7 Huy hiệu vàng40 Huy hiệu bạc75 Huy hiệu Đồng

bạn có thể làm điều đó bằng cách sử dụng vòng lặp choMar 8, 2019 at 8:35

Hướng dẫn how do you sum a dictionary in python? - làm thế nào để bạn tổng hợp một từ điển trong python?

Đã trả lời ngày 12 tháng 7 năm 2018 lúc 15:59Behlul Valiyev

Tôi cảm thấy

sum(d.values())
9 là cách hiệu quả nhất để có được số tiền.1 gold badge1 silver badge5 bronze badges

Bạn cũng có thể thử chức năng giảm để tính tổng cùng với biểu thức Lambda:

Nick

d = {'key1': 1,'key2': 14,'key3': 47}
sum(list(d.values()))

Huy hiệu vàng 134K22

Hướng dẫn how do you sum a dictionary in python? - làm thế nào để bạn tổng hợp một từ điển trong python?

Đã trả lời ngày 8 tháng 1 năm 2019 lúc 5:12Dec 13, 2019 at 10:17

Sử dụng SUM () để tổng các giá trị trong từ điển.Reza

Gọi dict.values ​​() để trả về các giá trị của một dictory từ điển. Sử dụng tổng (giá trị) để trả về tổng của các giá trị từ bước trước.1 silver badge7 bronze badges

2

Đã trả lời ngày 24 tháng 12 năm 2020 lúc 4:11

  d = {'data': 100, 'data2': 200, 'data3': 500}
  total = 0
  for i in d.values():
        total += i

"D" -> Biến từ điển của bạn

Đã trả lời ngày 8 tháng 3 năm 2019 lúc 8:35Apr 9, 2020 at 3:51

Hướng dẫn how do you sum a dictionary in python? - làm thế nào để bạn tổng hợp một từ điển trong python?

2

Behlul Valiyevbehlul Valiyev

https://trinket.io/python/a8a1f25353

sum(d.values())
0

Huy hiệu vàng 611 Huy hiệu bạc5 Huy hiệu đồng

https://trinket.io/python/5fcd379536

sum(d.values())
1

Câu trả lời của Phihag (và những câu tương tự) sẽ không hoạt động trong Python3.May 12, 2021 at 11:54

Cho Python 3:nemo

Cập nhật! Có những lời phàn nàn rằng nó không hoạt động! Tôi chỉ đính kèm một ảnh chụp màn hình từ thiết bị đầu cuối của tôi. Có thể là một số không phù hợp trong các phiên bản, v.v.3 gold badges20 silver badges25 bronze badges

Đã trả lời ngày 13 tháng 12 năm 2019 lúc 10:17

Example:

sum(d.values())
2

Rezareza

Huy hiệu đồng 1471 Bạc7 Huy hiệu Đồng1 gold badge9 silver badges13 bronze badges

Bạn có thể xem xét 'cho vòng lặp' cho điều này:Mar 1, 2020 at 14:06

1

Làm cách nào để tổng hợp một danh sách một từ điển trong Python?

Để tổng hợp các giá trị trong danh sách các từ điển: sử dụng biểu thức trình tạo để lặp qua danh sách. Mỗi lần lặp, hãy truy cập từ điển hiện tại tại khóa cụ thể. Thông báo biểu thức trình tạo vào hàm sum ().Use a generator expression to iterate over the list. On each iteration, access the current dictionary at the specific key. Pass the generator expression to the sum() function.

Làm thế nào để bạn tổng hợp một giá trị trong một từ điển?

Sử dụng hàm SUM () để tổng tất cả các giá trị trong từ điển, ví dụ:Total = sum (my_dict. value ()).Phương thức giá trị () trên từ điển sẽ trả về chế độ xem các giá trị của từ điển, có thể được truyền trực tiếp đến hàm tổng () để có được tổng.Đã sao chép!, e.g. total = sum(my_dict. values()) . The values() method on the dictionary will return a view of the dictionary's values, which can directly be passed to the sum() function to get the sum. Copied!

Làm thế nào để bạn tìm thấy tổng của các yếu tố trong từ điển?

Sử dụng hàm tổng để tìm tổng các giá trị từ điển. to find the sum of dictionary values.

Làm thế nào để bạn tổng hợp hai giá trị trong một từ điển trong Python?

5 Cách tốt nhất để tổng hợp các giá trị từ điển trong Python..
Phương pháp 1: Sử dụng tổng () và dict.giá trị ().
Phương pháp 2: Sử dụng sum () và biểu thức máy phát ..
Phương pháp 3: Sử dụng functools.Giảm () và Lambda ..
Phương pháp 4: Sử dụng sum () và list ().
Phương pháp 5: Sử dụng đơn giản cho vòng lặp và tổng hợp ..