Hướng dẫn sum of tuples python - tổng số trăn

Tôi có một danh sách các bộ dữ liệu [luôn luôn là cặp] như thế này:

Nội dung chính

  • 781 Huy hiệu bạc6 Huy hiệu đồng
  • Làm thế nào để bạn tổng hợp một danh sách các bộ dữ liệu trong Python?
  • Làm thế nào để bạn tổng hợp hai bộ dữ liệu trong Python?
  • Làm thế nào để bạn tổng hợp một danh sách các yếu tố trong Python?
  • Bạn có thể thêm 2 bộ dữ liệu với nhau không?

[[0, 1], [2, 3], [5, 7], [2, 1]]

Tôi muốn tìm tổng số các mục đầu tiên trong mỗi cặp, tức là:

0 + 2 + 5 + 2

Làm thế nào tôi có thể làm điều này trong Python? Hiện tại tôi đang lặp đi lặp lại danh sách:

sum = 0
for pair in list_of_pairs:
   sum += pair[0]

Tôi có cảm giác phải có một cách pythonic hơn.

Gsamara

70.3K41 Huy hiệu vàng181 Huy hiệu bạc285 Huy hiệu Đồng41 gold badges181 silver badges285 bronze badges41 gold badges181 silver badges285 bronze badges

hỏi ngày 12 tháng 3 năm 2009 lúc 10:37Mar 12, 2009 at 10:37Mar 12, 2009 at 10:37

1

Trong các phiên bản hiện đại của Python, tôi sẽ đề xuất những gì SilentGhost đã đăng [lặp lại ở đây để rõ ràng]:

sum[i for i, j in list_of_pairs]

Trong một phiên bản trước của câu trả lời này, tôi đã đề xuất điều này, điều này là cần thiết bởi vì phiên bản của SilentGhost không hoạt động trong phiên bản Python [2.3] hiện tại vào thời điểm đó:

sum[[pair[0] for pair in list_of_pairs]]

Bây giờ, phiên bản Python đã vượt quá lỗi thời và mã của Silentghost hoạt động trong tất cả các phiên bản Python hiện được duy trì, do đó không còn có lý do gì để giới thiệu phiên bản mà tôi đã đăng ban đầu.

Đã trả lời ngày 12 tháng 3 năm 2009 lúc 10:39Mar 12, 2009 at 10:39Mar 12, 2009 at 10:39

David Zdavid zDavid ZDavid Z

124K26 Huy hiệu vàng249 Huy hiệu bạc275 Huy hiệu Đồng26 gold badges249 silver badges275 bronze badges26 gold badges249 silver badges275 bronze badges

0

sum[i for i, j in list_of_pairs]

cũng sẽ làm.

Đã trả lời ngày 12 tháng 3 năm 2009 lúc 10:43Mar 12, 2009 at 10:43Mar 12, 2009 at 10:43

SilentghostsilentghostSilentGhostSilentGhost

294K64 Huy hiệu vàng301 Huy hiệu bạc291 Huy hiệu Đồng64 gold badges301 silver badges291 bronze badges64 gold badges301 silver badges291 bronze badges

6

Tôi giới thiệu:

sum[i for i, _ in list_of_pairs]

Ghi chú:

Sử dụng biến ________ 12 [hoặc

0 + 2 + 5 + 2
3 để tránh xung đột với bí danh của
0 + 2 + 5 + 2
4] thay vì
0 + 2 + 5 + 2
5 có ít nhất hai lợi ích:
  1. ________ 12 [là viết tắt của người giữ chỗ] có khả năng đọc tốt hơn
  2. 0 + 2 + 5 + 2
    
    7 sẽ không phàn nàn: "Biến không sử dụng 'J'"

Đã trả lời ngày 21 tháng 4 năm 2012 lúc 3:24Apr 21, 2012 at 3:24Apr 21, 2012 at 3:24

Hui Zhenghui ZhengHui ZhengHui Zheng

9.8442 Huy hiệu vàng34 Huy hiệu bạc40 Huy hiệu đồng2 gold badges34 silver badges40 bronze badges2 gold badges34 silver badges40 bronze badges

Nếu bạn có một danh sách rất lớn hoặc một trình tạo tạo ra một số lượng lớn các cặp bạn có thể muốn sử dụng phương pháp dựa trên trình tạo. Để vui, tôi cũng sử dụng

0 + 2 + 5 + 2
8 và
0 + 2 + 5 + 2
9. Một cách tiếp cận dựa trên máy phát đơn giản có thể là đủ, mặc dù.
0 + 2 + 5 + 2
3

Lưu ý rằng

sum = 0
for pair in list_of_pairs:
   sum += pair[0]
0 có sẵn trong Python> = 2.3. Vì vậy, bạn cũng có thể sử dụng một cách tiếp cận dựa trên máy phát điện ở đó.

Borlafu

781 Huy hiệu bạc6 Huy hiệu đồng1 silver badge6 bronze badges1 silver badge6 bronze badges

Đã trả lời ngày 12 tháng 3 năm 2009 lúc 10:52Mar 12, 2009 at 10:52Mar 12, 2009 at 10:52

5

Câu trả lời tối nghĩa [nhưng vui vẻ]:

0 + 2 + 5 + 2
5

Hoặc khi ZIP chỉ lặp đi lặp lại, điều này sẽ hoạt động:

0 + 2 + 5 + 2
6

Silentghost

294K64 Huy hiệu vàng301 Huy hiệu bạc291 Huy hiệu Đồng64 gold badges301 silver badges291 bronze badges64 gold badges301 silver badges291 bronze badges

Tôi giới thiệu:Mar 12, 2009 at 11:19

Ghi chú:Ali Afshar

Sử dụng biến ________ 12 [hoặc

0 + 2 + 5 + 2
3 để tránh xung đột với bí danh của
0 + 2 + 5 + 2
4] thay vì
0 + 2 + 5 + 2
5 có ít nhất hai lợi ích:12 gold badges90 silver badges109 bronze badges

2

________ 12 [là viết tắt của người giữ chỗ] có khả năng đọc tốt hơn

0 + 2 + 5 + 2
7 sẽ không phàn nàn: "Biến không sử dụng 'J'"Dec 27, 2017 at 6:55

Đã trả lời ngày 21 tháng 4 năm 2012 lúc 3:24Apr 21, 2012 at 3:24Jayhello

Hui Zhenghui ZhengHui Zheng3 gold badges46 silver badges54 bronze badges

9.8442 Huy hiệu vàng34 Huy hiệu bạc40 Huy hiệu đồng2 gold badges34 silver badges40 bronze badges

Nếu bạn có một danh sách rất lớn hoặc một trình tạo tạo ra một số lượng lớn các cặp bạn có thể muốn sử dụng phương pháp dựa trên trình tạo. Để vui, tôi cũng sử dụng

0 + 2 + 5 + 2
8 và
0 + 2 + 5 + 2
9. Một cách tiếp cận dựa trên máy phát đơn giản có thể là đủ, mặc dù.
0 + 2 + 5 + 2
3Aug 5, 2018 at 7:32

Lưu ý rằng

sum = 0
for pair in list_of_pairs:
   sum += pair[0]
0 có sẵn trong Python> = 2.3. Vì vậy, bạn cũng có thể sử dụng một cách tiếp cận dựa trên máy phát điện ở đó.mithunpaul

Borlafu21 silver badges19 bronze badges

0 + 2 + 5 + 2
1
  1. 781 Huy hiệu bạc6 Huy hiệu đồng

781 Huy hiệu bạc6 Huy hiệu đồng1 silver badge6 bronze badgesMar 4, 2020 at 14:35

1

Làm thế nào để bạn tổng hợp một danh sách các bộ dữ liệu trong Python?

Đã trả lời ngày 12 tháng 3 năm 2009 lúc 10:52Mar 12, 2009 at 10:52use the sum[] method. Define a tuple with number values and pass the tuple as a parameter to the sum[] function; in return, you will get the sum of tuple items.

Câu trả lời tối nghĩa [nhưng vui vẻ]:

Python3. Phương pháp số 2: Sử dụng map [] + zip [] + sum [] Sự kết hợp của các hàm trên cũng có thể được sử dụng để đạt được nhiệm vụ cụ thể này. Trong đó, chúng tôi thêm tổng [] inbuilt Sum [] để thực hiện tổng và zip các chỉ số tương tự bằng zip [] và mở rộng logic cho cả hai bộ dữ liệu bằng MAP [].Using map[] + zip[] + sum[] The combination of above functions can also be used to achieve this particular task. In this, we add inbuilt sum[] to perform summation and zip the like indices using zip[] and extend logic to both tuples using map[].Using map[] + zip[] + sum[] The combination of above functions can also be used to achieve this particular task. In this, we add inbuilt sum[] to perform summation and zip the like indices using zip[] and extend logic to both tuples using map[].

Làm thế nào để bạn tổng hợp một danh sách các yếu tố trong Python?

Python cung cấp một tổng số hàm sẵn [] tổng hợp các số trong danh sách.Cú pháp: Sum [có thể lặp lại, bắt đầu] có thể sử dụng được: Có thể là bất cứ thứ gì danh sách, bộ dữ liệu hoặc từ điển, nhưng quan trọng nhất là nó phải là số.Bắt đầu: Bắt đầu này được thêm vào tổng số số trong itable.sum[iterable, start] iterable : iterable can be anything list , tuples or dictionaries , but most importantly it should be numbers. start : this start is added to the sum of numbers in the iterable.sum[iterable, start] iterable : iterable can be anything list , tuples or dictionaries , but most importantly it should be numbers. start : this start is added to the sum of numbers in the iterable.

Bạn có thể thêm 2 bộ dữ liệu với nhau không?

Bạn có thể kết hợp các bộ dữ liệu để tạo thành một tuple mới.Hoạt động bổ sung chỉ đơn giản là thực hiện một kết nối với các bộ dữ liệu.Bạn chỉ có thể thêm hoặc kết hợp các loại dữ liệu giống nhau.. The addition operation simply performs a concatenation with tuples. You can only add or combine same data types.. The addition operation simply performs a concatenation with tuples. You can only add or combine same data types.

Bài Viết Liên Quan

Chủ Đề