Hướng dẫn sum specific values in dictionary python - tính tổng các giá trị cụ thể trong từ điển python
Tôi có một dictorary dictory và một tên chuỗi. Bây giờ tôi muốn tổng hợp các giá trị của dict bằng các ký tự của tên chuỗi. Show
Với giải pháp của tôi, tôi chỉ nhận được các giá trị 71.07884, 110, 103.14484 nhưng làm thế nào tôi có thể tổng hợp các giá trị này. Nếu tôi thử in (sum (giá trị)) Tôi nhận được điều này: typeError: đối tượng 'float' không thể hiểu được. Tôi là người mới ở Python :)
Hỏi ngày 19 tháng 10 năm 2018 lúc 9:08Oct 19, 2018 at 9:08
Bạn sẽ nhận được lỗi đó vì 2 thay đổi theo trình lặp của nó. Đặt hàng để tìm tổng bạn cần lưu trữ và thêm các giá trị vào một biến khác và sau đó gọi 3 hoặc bạn có thể thêm nó vào một biến mới.Những gì 3 làm là lấy một danh sách và lặp lại thông qua nó. Trong mã của bạn những gì nó đang làm là chuyển giá trị hiện tại trong vòng lặp chỉ vì vậy 1 giá trị.Ví dụ: Lưu ý (có nhiều cách để làm điều này.)
Đã trả lời ngày 19 tháng 10 năm 2018 lúc 9:14Oct 19, 2018 at 9:14
Bạn có thể làm theo cách đó - khởi tạo một danh sách trống trước và sau đó mỗi khi bạn nhận được giá trị trong vòng lặp, 5 nó vào danh sách. Bạn sẽ nhận được một danh sách 6, sau đó bạn có thể tổng hợp.
Output:
Đã trả lời ngày 19 tháng 10 năm 2018 lúc 9:11Oct 19, 2018 at 9:11
PiotrekpiotrekPiotrek 1.3508 huy hiệu bạc15 huy hiệu đồng8 silver badges15 bronze badges Bạn có thể làm điều đó như thế này:
Lưu ý rằng tôi đã đổi tên từ điển của bạn thành 7, vì 8 là hàm python tích hợp, mà bạn không nên sử dụng làm tên biến.Đã trả lời ngày 19 tháng 10 năm 2018 lúc 9:11Oct 19, 2018 at 9:11
PiotrekpiotrekThierry Lathuille 1.3508 huy hiệu bạc15 huy hiệu đồng10 gold badges41 silver badges47 bronze badges Bạn có thể làm điều đó như thế này:
Lưu ý rằng tôi đã đổi tên từ điển của bạn thành 7, vì 8 là hàm python tích hợp, mà bạn không nên sử dụng làm tên biến.Oct 19, 2018 at 9:15
1 Xây dựng vấn đề và tổng quan về giải phápTrong bài viết này, bạn sẽ học cách tổng hợp các giá trị từ điển trong Python.Sum Dictionary Values in Python. Để làm cho nó vui hơn, chúng tôi có kịch bản chạy sau: Là một freelancer Python, bạn muốn biết bạn đã kiếm được bao nhiêu tiền trong vài tháng qua. Dữ liệu này được lưu trữ trong một định dạng từ điển. Tổng số này có thể được tìm thấy bằng cách tổng hợp (kiểm đếm) các giá trị từ điển. 💬 Câu hỏi: Làm thế nào chúng ta sẽ viết mã Python để tổng hợp các giá trị từ điển trong Python?Question: How would we write Python code to sum dictionary values in Python? Chúng tôi có thể hoàn thành nhiệm vụ này bằng một trong các tùy chọn sau:
Phương pháp 1: Sử dụng sum () và dict.values ()Bạn có thể sử dụng các hàm 3 và 0 để tổng hợp tất cả các giá trị của từ điển Python với biểu thức 8.Ở đây, cách thức này áp dụng cho kịch bản ví dụ của chúng tôi: wages = {'01': 910.56, '02': 1298.68, '03': 1433.99, '04': 1050.14, '05': 877.67} total = sum(wages.values()) print('Total Wages: ${0:,.2f}'.format(total)) Mã này tuyên bố một từ điển, 9 chứa năm (5) khóa: các cặp giá trị của thu nhập hàng tháng.Tùy chọn 1 trên các giá trị được trích xuất và lưu vào 0. Then using
1, the output is modified to display a Dollar sign ( 2), a comma (if needed), and restrict the output to two (2) decimal places.Tổng số tiền lương: $ 5,571,04 HOẶC total = round(sum(wages.values()), 2) print(total) Tùy chọn 2 ở trên các giá trị được trích xuất, làm tròn kết quả thành hai (2) vị trí thập phân và tiết kiệm cho 0. The result is output to the terminal as is.5571.04 Phương thức từ điển python () Phương thức Phương pháp 2: Sử dụng biểu thức Sum () và Trình tạoBạn có thể kết hợp hàm 3 tích hợp với biểu thức máy phát đơn giản để tổng hợp tất cả các giá trị trong từ điển Python với biểu thức 5.Ở đây, ví dụ: wages = {'01': 910.56, '02': 1298.68, '03': 1433.99, '04': 1050.14, '05': 877.67} total = sum(wages[item] for item in wages) print('Total Wages: ${0:,.2f}'.format(total)) Mã này tuyên bố một từ điển, 9 chứa năm (5) khóa: các cặp giá trị của thu nhập hàng tháng.Tùy chọn 1 trên các giá trị được trích xuất và lưu vào 0. Sau đó, sử dụng 1, đầu ra được sửa đổi để hiển thị dấu hiệu đô la ( 2), dấu phẩy (nếu cần) và hạn chế đầu ra ở hai (2) vị trí thập phân.Tổng số tiền lương: $ 5,571,04 Tổng số tiền lương: $ 5,571,04 HOẶCTùy chọn 2 ở trên các giá trị được trích xuất, làm tròn kết quả thành hai (2) vị trí thập phân và tiết kiệm cho 0. Kết quả là đầu ra cho thiết bị đầu cuối như là.Phương thức từ điển python () Phương thức wages = {'01': 910.56, '02': 1298.68, '03': 1433.99, '04': 1050.14, '05': 877.67} total = functools.reduce(lambda tot, v: tot+wages[v], wages, 0) print(total) Phương pháp 2: Sử dụng biểu thức Sum () và Trình tạo Bạn có thể kết hợp hàm 3 tích hợp với biểu thức máy phát đơn giản để tổng hợp tất cả các giá trị trong từ điển Python với biểu thức 5.Ở đây, ví dụ: 5571.04 Vòng lặp 5 một dòng được sử dụng để điều hướng từng mục từ điển (giá trị) và kiểm đếm các mục. Kết quả tiết kiệm đến 0.
Sau đó, sum(values) Out[6]: 284.22368 1 được sử dụng để sửa đổi đầu ra để hiển thị dấu hiệu đô la (sum(values) Out[6]: 284.22368 2), dấu phẩy (nếu cần) và hạn chế đầu ra ở hai (2) vị trí thập phân.Phương pháp 3: Sử dụng Lambda 0Phương pháp 2: Sử dụng biểu thức Sum () và Trình tạo Bạn có thể kết hợp hàm 3 tích hợp với biểu thức máy phát đơn giản để tổng hợp tất cả các giá trị trong từ điển Python với biểu thức 5.Ở đây, ví dụ: Ở đây, ví dụ: 5571.04 Vòng lặp dict = {'A': 71.07884, 'B': 110, 'C': 103.14484, 'D': 115.08864, 'E': 129.11552, 'F': 147.1766, } name = "ABC" values = [] for character in name: for key, value in dict.items(): if key == character: values.append(value) sum(values) 5 một dòng được sử dụng để điều hướng từng mục từ điển (giá trị) và kiểm đếm các mục. Kết quả tiết kiệm đến sum(values) Out[6]: 284.22368 0.Sau đó, 1 được sử dụng để sửa đổi đầu ra để hiển thị dấu hiệu đô la ( 2), dấu phẩy (nếu cần) và hạn chế đầu ra ở hai (2) vị trí thập phân.Phương pháp 3: Sử dụng Lambda 1Một cách khác để tổng hợp các giá trị từ điển Python là sử dụng phương pháp 2 kết hợp với hàm LambDA trong biểu thức 2.Ở đây, những gì trông giống như trong kịch bản ví dụ của chúng tôi:Đầu tiên, mã này tuyên bố một từ điển, 9 chứa năm (5) khóa: các cặp giá trị của thu nhập hàng tháng.Sau đó, hàm 2 được sử dụng với Lambda để kiểm đếm tiền lương. Kết quả này tiết kiệm cho 0 và là đầu ra cho thiết bị đầu cuối.Đầu ra Hãy chơi Finxter - Chức năng Lambda trong Python Phương pháp 4: Sử dụng máy phát điện |