Hướng dẫn how does sum work in python? - làm thế nào để tổng hoạt động trong python?

  1. Nhà
  2. Chức năng tích hợp Python
  3. Hàm python sum ()

. Tìm hiểu khoa học dữ liệu bằng cách hoàn thành các thách thức mã hóa tương tác và xem video của các giảng viên chuyên gia. Bắt đầu bây giờ!

Show

Cập nhật vào ngày 07 tháng 1 năm 2020


Hàm ____ 32 & nbsp; có thể lặp lại và trả về tổng số các mục trong đó.

Syntax:

sum(iterable, [start]) -> number

THAM SỐSỰ MÔ TẢ
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
3 (bắt buộc)
Các mục có thể lặp lại như chuỗi, danh sách, từ điển, v.v.
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
4 (tùy chọn)
Một giá trị số tùy chọn được thêm vào kết quả cuối cùng. Nó mặc định là
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
5.

Hàm

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 chỉ hoạt động với các giá trị số, cố gắng sử dụng nó với loại không phải là số sẽ dẫn đến lỗi.

Đây là một ví dụ:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>

Hãy thử nó:

Trong lệnh cuối cùng, ____ 32 & nbsp; thêm các khóa trong từ điển, bỏ qua các giá trị của nó.

Dưới đây là một ví dụ khác, trong đó chỉ định giá trị ____ 34 & nbsp; sẽ được thêm vào kết quả cuối cùng.

>>> 
>>> sum([10, 20, 30], 100)
160
>>>

Hãy thử nó:


Trong lệnh cuối cùng, ____ 32 & nbsp; thêm các khóa trong từ điển, bỏ qua các giá trị của nó.

Dưới đây là một ví dụ khác, trong đó chỉ định giá trị ____ 34 & nbsp; sẽ được thêm vào kết quả cuối cùng.


Chức năng tích hợp của Python,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 là một cách hiệu quả và pythonic để tổng hợp một danh sách các giá trị số. Thêm một số số lại với nhau là một bước trung gian phổ biến trong nhiều tính toán, vì vậy
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 là một công cụ khá tiện dụng cho một lập trình viên Python.

Là một trường hợp sử dụng bổ sung và thú vị, bạn có thể kết hợp các danh sách và bộ dữ liệu bằng cách sử dụng

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2, có thể thuận tiện khi bạn cần làm phẳng danh sách danh sách.

Trong hướng dẫn này, bạn sẽ học cách:

  • Tổng các giá trị số bằng tay bằng cách sử dụng các kỹ thuật và công cụ chunggeneral techniques and tools
  • Sử dụng Python từ
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2 để thêm một số giá trị số một cách hiệu quảPython’s
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2
    to add several numeric values efficiently
  • Danh sách Concatenate và bộ dữ liệu với
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2
    with
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2
  • Sử dụng
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2 để tiếp cận các vấn đề tổng hợp phổ biếnsummation problems
  • Sử dụng các giá trị phù hợp cho các đối số
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    3 và
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    4 trong
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2arguments in
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2
  • Quyết định giữa
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2 và các công cụ thay thế cho các đối tượng tổng hợp và concatenatealternative tools to sum and concatenate objects

Với kiến ​​thức này, giờ đây bạn có thể thêm nhiều giá trị số lại với nhau theo cách pythonic, dễ đọc và hiệu quả.

Làm thế nào để chức năng Sum hoạt động trong Python?

Hàm SUM () trong Python Python cung cấp một 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.

Làm thế nào để bạn viết một khoản tiền trong Python?

Hàm SUM () được sử dụng để lấy tổng của tất cả các mục trong một lần lặp lại ..

Nó có thể thực hiện tính toán cụ thể này bằng tay, nhưng hãy tưởng tượng một số tình huống khác mà nó có thể không quá có thể. Nếu bạn có một danh sách các số đặc biệt dài, việc thêm bằng tay có thể không hiệu quả và dễ bị lỗi. Điều gì xảy ra nếu bạn không biết thậm chí biết có bao nhiêu mặt hàng trong danh sách? Cuối cùng, hãy tưởng tượng một kịch bản trong đó số lượng vật phẩm bạn cần thêm thay đổi một cách linh hoạt hoặc không thể đoán trước.

Trong các tình huống như thế này, cho dù bạn có một danh sách dài hay ngắn, Python có thể khá hữu ích để giải quyết các vấn đề tổng kết.summation problems.

Nếu bạn muốn tổng hợp các số bằng cách tạo giải pháp của riêng mình từ đầu, thì bạn có thể thử sử dụng vòng lặp

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
8:

>>>

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15

Ở đây, trước tiên bạn tạo

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
9 và khởi tạo nó thành
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
5. Biến này hoạt động như một bộ tích lũy trong đó bạn lưu trữ kết quả trung gian cho đến khi bạn nhận được kết quả cuối cùng. Vòng lặp lặp qua
>>> def sum_numbers(numbers):
...     total = 0
...     for number in numbers:
...         total += number
...     return total
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> sum_numbers([])
0
1 và cập nhật
>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
9 bằng cách tích lũy từng giá trị liên tiếp bằng cách sử dụng một bài tập tăng cường.

Bạn cũng có thể quấn vòng

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
8 trong một hàm. Bằng cách này, bạn có thể sử dụng lại mã cho các danh sách khác nhau:

>>>

>>> def sum_numbers(numbers):
...     total = 0
...     for number in numbers:
...         total += number
...     return total
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> sum_numbers([])
0

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15

Ở đây, trước tiên bạn tạo

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
9 và khởi tạo nó thành
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
5. Biến này hoạt động như một bộ tích lũy trong đó bạn lưu trữ kết quả trung gian cho đến khi bạn nhận được kết quả cuối cùng. Vòng lặp lặp qua
>>> def sum_numbers(numbers):
...     total = 0
...     for number in numbers:
...         total += number
...     return total
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> sum_numbers([])
0
1 và cập nhật
>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
9 bằng cách tích lũy từng giá trị liên tiếp bằng cách sử dụng một bài tập tăng cường.

>>>

>>> def sum_numbers(numbers):
...     if len(numbers) == 0:
...         return 0
...     return numbers[0] + sum_numbers(numbers[1:])
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
base case that stops the recursion and a recursive case to call the function and start the implicit loop.

Ở đây, trước tiên bạn tạo

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
9 và khởi tạo nó thành
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
5. Biến này hoạt động như một bộ tích lũy trong đó bạn lưu trữ kết quả trung gian cho đến khi bạn nhận được kết quả cuối cùng. Vòng lặp lặp qua
>>> def sum_numbers(numbers):
...     total = 0
...     for number in numbers:
...         total += number
...     return total
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> sum_numbers([])
0
1 và cập nhật
>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
9 bằng cách tích lũy từng giá trị liên tiếp bằng cách sử dụng một bài tập tăng cường.

Bạn cũng có thể quấn vòng

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
8 trong một hàm. Bằng cách này, bạn có thể sử dụng lại mã cho các danh sách khác nhau:

>>>

>>> from functools import reduce
>>> from operator import add

>>> reduce(add, [1, 2, 3, 4, 5])
15

>>> reduce(add, [])
Traceback (most recent call last):
    ...
TypeError: reduce() of empty sequence with no initial value

>>> reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
15

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15

Ở đây, trước tiên bạn tạo

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
9 và khởi tạo nó thành
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
5. Biến này hoạt động như một bộ tích lũy trong đó bạn lưu trữ kết quả trung gian cho đến khi bạn nhận được kết quả cuối cùng. Vòng lặp lặp qua
>>> def sum_numbers(numbers):
...     total = 0
...     for number in numbers:
...         total += number
...     return total
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> sum_numbers([])
0
1 và cập nhật
>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
9 bằng cách tích lũy từng giá trị liên tiếp bằng cách sử dụng một bài tập tăng cường.

Bạn cũng có thể quấn vòng

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
8 trong một hàm. Bằng cách này, bạn có thể sử dụng lại mã cho các danh sách khác nhau:

Trong

>>> def sum_numbers(numbers):
...     total = 0
...     for number in numbers:
...         total += number
...     return total
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> sum_numbers([])
0
4, bạn có thể sử dụng một số ít hơn, một danh sách các giá trị số, như một đối số và trả về tổng số của các giá trị trong danh sách đầu vào. Nếu danh sách đầu vào trống, thì hàm trả về
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
5. Vòng lặp
>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
8 là cùng một vòng mà bạn đã thấy trước đây.

Bạn cũng có thể sử dụng đệ quy thay vì lặp. Recursion là một kỹ thuật lập trình chức năng trong đó một hàm được gọi trong định nghĩa riêng của nó. Nói cách khác, một hàm đệ quy tự gọi nó trong một vòng lặp:

Khi bạn xác định chức năng đệ quy, bạn có nguy cơ chạy vào một vòng lặp vô hạn. Để ngăn chặn điều này, bạn cần xác định cả trường hợp cơ sở dừng đệ quy và trường hợp đệ quy để gọi hàm và bắt đầu vòng lặp ngầm.

Trong ví dụ trên, trường hợp cơ sở ngụ ý rằng tổng của danh sách không có độ dài là

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
5. Trường hợp đệ quy ngụ ý rằng tổng số là giá trị đầu tiên,
>>> def sum_numbers(numbers):
...     total = 0
...     for number in numbers:
...         total += number
...     return total
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> sum_numbers([])
0
8, cộng với tổng của phần còn lại của các giá trị,
>>> def sum_numbers(numbers):
...     total = 0
...     for number in numbers:
...         total += number
...     return total
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> sum_numbers([])
0
9. Bởi vì trường hợp đệ quy sử dụng một chuỗi ngắn hơn trên mỗi lần lặp, bạn dự kiến ​​sẽ chạy vào trường hợp cơ sở khi
>>> def sum_numbers(numbers):
...     total = 0
...     for number in numbers:
...         total += number
...     return total
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> sum_numbers([])
0
1 là một danh sách có độ dài bằng không. Kết quả cuối cùng, bạn nhận được tổng của tất cả các mục trong danh sách đầu vào của bạn,
>>> def sum_numbers(numbers):
...     total = 0
...     for number in numbers:
...         total += number
...     return total
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> sum_numbers([])
0
1.

Một tùy chọn khác để tổng hợp danh sách các số trong Python là sử dụng

>>> def sum_numbers(numbers):
...     if len(numbers) == 0:
...         return 0
...     return numbers[0] + sum_numbers(numbers[1:])
...

>>> sum_numbers([1, 2, 3, 4, 5])
15
2 từ
>>> def sum_numbers(numbers):
...     if len(numbers) == 0:
...         return 0
...     return numbers[0] + sum_numbers(numbers[1:])
...

>>> sum_numbers([1, 2, 3, 4, 5])
15
3. Để có được tổng của một danh sách các số, bạn có thể vượt qua
>>> def sum_numbers(numbers):
...     if len(numbers) == 0:
...         return 0
...     return numbers[0] + sum_numbers(numbers[1:])
...

>>> sum_numbers([1, 2, 3, 4, 5])
15
4 hoặc hàm
>>> def sum_numbers(numbers):
...     if len(numbers) == 0:
...         return 0
...     return numbers[0] + sum_numbers(numbers[1:])
...

>>> sum_numbers([1, 2, 3, 4, 5])
15
5 thích hợp làm đối số đầu tiên cho
>>> def sum_numbers(numbers):
...     if len(numbers) == 0:
...         return 0
...     return numbers[0] + sum_numbers(numbers[1:])
...

>>> sum_numbers([1, 2, 3, 4, 5])
15
2:

Bạn có thể gọi

>>> def sum_numbers(numbers):
...     if len(numbers) == 0:
...         return 0
...     return numbers[0] + sum_numbers(numbers[1:])
...

>>> sum_numbers([1, 2, 3, 4, 5])
15
2 với mức giảm hoặc gấp,
>>> def sum_numbers(numbers):
...     if len(numbers) == 0:
...         return 0
...     return numbers[0] + sum_numbers(numbers[1:])
...

>>> sum_numbers([1, 2, 3, 4, 5])
15
8 cùng với
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
3 làm đối số. Sau đó,
>>> def sum_numbers(numbers):
...     if len(numbers) == 0:
...         return 0
...     return numbers[0] + sum_numbers(numbers[1:])
...

>>> sum_numbers([1, 2, 3, 4, 5])
15
2 sử dụng chức năng đầu vào để xử lý
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
3 và trả về một giá trị tích lũy duy nhất.

>>>

>>> sum([1, 2, 3, 4, 5])
15

>>> sum([])
0

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15

Bạn có thể gọi

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 với hai đối số sau:

  1. >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    3 là một đối số cần thiết có thể giữ bất kỳ python có thể điều chỉnh được. Các thông thường có thể chứa các giá trị số nhưng cũng có thể chứa danh sách hoặc bộ dữ liệu.
    is a required argument that can hold any Python iterable. The iterable typically contains numeric values but can also contain lists or tuples.
  2. >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    4 là một đối số tùy chọn có thể giữ giá trị ban đầu. Giá trị này sau đó được thêm vào kết quả cuối cùng. Nó mặc định là
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    5.
    is an optional argument that can hold an initial value. This value is then added to the final result. It defaults to
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    5.

Trong nội bộ,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 thêm
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
4 cộng với các giá trị trong
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
3 từ trái sang phải. Các giá trị trong đầu vào
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
3 thường là số, nhưng bạn cũng có thể sử dụng danh sách và bộ dữ liệu. Đối số tùy chọn
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
4 có thể chấp nhận một số, danh sách hoặc tuple, tùy thuộc vào những gì được truyền đến
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
3. Nó có thể lấy một chuỗi.

Trong hai phần sau, bạn sẽ tìm hiểu những điều cơ bản về việc sử dụng

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 trong mã của mình.

Đối số cần thiết: >>> >>> sum([10, 20, 30], 100) 160 >>> 3

Chấp nhận bất kỳ python nào có thể thay đổi như lập luận đầu tiên của nó làm cho

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 chung, tái sử dụng và đa hình. Vì tính năng này, bạn có thể sử dụng
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 với danh sách, bộ dữ liệu, bộ, đối tượng
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
05 và từ điển:

>>>

>>> # Use a list
>>> sum([1, 2, 3, 4, 5])
15

>>> # Use a tuple
>>> sum((1, 2, 3, 4, 5))
15

>>> # Use a set
>>> sum({1, 2, 3, 4, 5})
15

>>> # Use a range
>>> sum(range(1, 6))
15

>>> # Use a dictionary
>>> sum({1: "one", 2: "two", 3: "three"})
6
>>> sum({1: "one", 2: "two", 3: "three"}.keys())
6

Trong tất cả các ví dụ này,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 tính tổng số học của tất cả các giá trị trong đầu vào có thể đánh giá cao bất kể loại của chúng. Trong hai ví dụ từ điển, cả hai gọi đến
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 trả về tổng các khóa của từ điển đầu vào. Ví dụ đầu tiên tổng hợp các khóa theo mặc định và ví dụ thứ hai tổng hợp các khóa do cuộc gọi
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
08 trên từ điển đầu vào.

Nếu từ điển của bạn lưu trữ các số trong các giá trị của nó và bạn muốn tổng hợp các giá trị này thay vì các khóa, thì bạn có thể làm điều này bằng cách sử dụng

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
09 giống như trong ví dụ
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
08.

Bạn cũng có thể sử dụng

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 với danh sách hiểu như một đối số. Ở đây, một ví dụ tính toán tổng của các bình phương của một phạm vi giá trị:

>>>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
0

Trong tất cả các ví dụ này,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 tính tổng số học của tất cả các giá trị trong đầu vào có thể đánh giá cao bất kể loại của chúng. Trong hai ví dụ từ điển, cả hai gọi đến
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 trả về tổng các khóa của từ điển đầu vào. Ví dụ đầu tiên tổng hợp các khóa theo mặc định và ví dụ thứ hai tổng hợp các khóa do cuộc gọi
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
08 trên từ điển đầu vào.

>>>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
1

Trong tất cả các ví dụ này,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 tính tổng số học của tất cả các giá trị trong đầu vào có thể đánh giá cao bất kể loại của chúng. Trong hai ví dụ từ điển, cả hai gọi đến
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 trả về tổng các khóa của từ điển đầu vào. Ví dụ đầu tiên tổng hợp các khóa theo mặc định và ví dụ thứ hai tổng hợp các khóa do cuộc gọi
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
08 trên từ điển đầu vào.

Nếu từ điển của bạn lưu trữ các số trong các giá trị của nó và bạn muốn tổng hợp các giá trị này thay vì các khóa, thì bạn có thể làm điều này bằng cách sử dụng 1 2 3 4 5 6 7 8 9 10 11 12 1309 giống như trong ví dụ 1 2 3 4 5 6 7 8 9 10 11 12 1308.

Bạn cũng có thể sử dụng

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 với danh sách hiểu như một đối số. Ở đây, một ví dụ tính toán tổng của các bình phương của một phạm vi giá trị:

>>>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
2

Trong tất cả các ví dụ này,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 tính tổng số học của tất cả các giá trị trong đầu vào có thể đánh giá cao bất kể loại của chúng. Trong hai ví dụ từ điển, cả hai gọi đến
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 trả về tổng các khóa của từ điển đầu vào. Ví dụ đầu tiên tổng hợp các khóa theo mặc định và ví dụ thứ hai tổng hợp các khóa do cuộc gọi
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
08 trên từ điển đầu vào.

Nếu từ điển của bạn lưu trữ các số trong các giá trị của nó và bạn muốn tổng hợp các giá trị này thay vì các khóa, thì bạn có thể làm điều này bằng cách sử dụng

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
09 giống như trong ví dụ
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
08.

Bạn cũng có thể sử dụng >>> >>> sum([10, 20, 30], 100) 160 >>> 2 với danh sách hiểu như một đối số. Ở đây, một ví dụ tính toán tổng của các bình phương của một phạm vi giá trị:

Python 2.4 đã thêm biểu thức máy phát vào ngôn ngữ. Một lần nữa,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 hoạt động như mong đợi khi bạn sử dụng biểu thức máy phát làm đối số:

Ví dụ này cho thấy một trong những kỹ thuật pythonic nhất để tiếp cận vấn đề tổng kết. Nó cung cấp một giải pháp thanh lịch, có thể đọc được và hiệu quả trong một dòng mã duy nhất.

>>>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
3

Trong tất cả các ví dụ này,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 tính tổng số học của tất cả các giá trị trong đầu vào có thể đánh giá cao bất kể loại của chúng. Trong hai ví dụ từ điển, cả hai gọi đến
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 trả về tổng các khóa của từ điển đầu vào. Ví dụ đầu tiên tổng hợp các khóa theo mặc định và ví dụ thứ hai tổng hợp các khóa do cuộc gọi
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
08 trên từ điển đầu vào.floating-point numbers. It’s worth noting the function’s behavior when you use the special symbols
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
30 and
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
31 in the calls
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
32 and
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
33. The first symbol represents an infinite value, so
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 returns
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
30. The second symbol represents NaN (not a number) values. Since you can’t add numbers with non-numbers, you get
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
31 as a result.

Nếu từ điển của bạn lưu trữ các số trong các giá trị của nó và bạn muốn tổng hợp các giá trị này thay vì các khóa, thì bạn có thể làm điều này bằng cách sử dụng

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
09 giống như trong ví dụ
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
08.

Bạn cũng có thể sử dụng >>> >>> sum([10, 20, 30], 100) 160 >>> 2 với danh sách hiểu như một đối số. Ở đây, một ví dụ tính toán tổng của các bình phương của một phạm vi giá trị:

Python 2.4 đã thêm biểu thức máy phát vào ngôn ngữ. Một lần nữa,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 hoạt động như mong đợi khi bạn sử dụng biểu thức máy phát làm đối số:

>>>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
4

Trong tất cả các ví dụ này,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 tính tổng số học của tất cả các giá trị trong đầu vào có thể đánh giá cao bất kể loại của chúng. Trong hai ví dụ từ điển, cả hai gọi đến
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 trả về tổng các khóa của từ điển đầu vào. Ví dụ đầu tiên tổng hợp các khóa theo mặc định và ví dụ thứ hai tổng hợp các khóa do cuộc gọi
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
08 trên từ điển đầu vào.

Nếu từ điển của bạn lưu trữ các số trong các giá trị của nó và bạn muốn tổng hợp các giá trị này thay vì các khóa, thì bạn có thể làm điều này bằng cách sử dụng

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
09 giống như trong ví dụ
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
08.

>>>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
5

Khi bạn cố gắng sử dụng

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 để nối các chuỗi, bạn sẽ nhận được
>>> from functools import reduce
>>> from operator import add

>>> reduce(add, [1, 2, 3, 4, 5])
15

>>> reduce(add, [])
Traceback (most recent call last):
    ...
TypeError: reduce() of empty sequence with no initial value

>>> reduce(lambda x, y: x + y, [1, 2, 3, 4, 5])
15
5. Như thông điệp ngoại lệ cho thấy, bạn nên sử dụng
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
49 để nối các chuỗi trong Python. Bạn sẽ thấy các ví dụ về việc sử dụng phương pháp này sau này khi bạn truy cập phần về việc sử dụng các lựa chọn thay thế cho
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2.

Thực hành với Python từ >>> >>> sum([10, 20, 30], 100) 160 >>> 2

Cho đến nay, bạn đã học được những điều cơ bản khi làm việc với

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2. Bạn đã học cách sử dụng hàm này để thêm các giá trị số lại với nhau và cũng để kết hợp các chuỗi như danh sách và bộ dữ liệu.

Trong phần này, bạn sẽ xem xét một số ví dụ khác về thời điểm và cách sử dụng

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 trong mã của bạn. Với các ví dụ thực tế này, bạn sẽ biết rằng chức năng tích hợp này khá tiện dụng khi bạn thực hiện các tính toán yêu cầu tìm tổng số một loạt các số như một bước trung gian.

Bạn cũng sẽ học được rằng

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 có thể hữu ích khi bạn làm việc với các danh sách và bộ dữ liệu. Một ví dụ đặc biệt mà bạn sẽ xem là khi bạn cần làm phẳng danh sách các danh sách.

Tính toán tổng tích lũy

Ví dụ đầu tiên mà bạn mã hóa phải làm với cách tận dụng đối số

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
4 để tổng hợp các danh sách tích lũy của các giá trị số.

Giả sử bạn đang phát triển một hệ thống để quản lý doanh số của một sản phẩm nhất định tại một số điểm bán hàng khác nhau. Mỗi ngày, bạn nhận được một báo cáo đơn vị bán từ mỗi điểm bán. Bạn cần tính toán một cách có hệ thống số tiền tích lũy để biết có bao nhiêu đơn vị mà toàn bộ công ty được bán trong tuần. Để giải quyết vấn đề này, bạn có thể sử dụng

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2:

>>>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
6

Bằng cách sử dụng

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
4, bạn đặt giá trị ban đầu để khởi tạo tổng, cho phép bạn thêm các đơn vị liên tiếp vào phần phụ được tính toán trước đó. Vào cuối tuần, bạn sẽ có tổng số lượng đơn vị bán của công ty.

Tính toán giá trị trung bình của một mẫu

Một trường hợp sử dụng thực tế khác của

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 là sử dụng nó như một tính toán trung gian trước khi thực hiện các tính toán thêm. Ví dụ, giả sử bạn cần tính toán trung bình số học của một mẫu của các giá trị số. Giá trị trung bình số học, còn được gọi là trung bình, là tổng số của các giá trị chia cho số lượng giá trị hoặc điểm dữ liệu, trong mẫu.average, is the total sum of the values divided by the number of values, or data points, in the sample.

Nếu bạn có mẫu [2, 3, 4, 2, 3, 6, 4, 2] và bạn muốn tính toán trung bình số học bằng tay, thì bạn có thể giải quyết hoạt động này:

(2 + 3 + 4 + 2 + 3 + 6 + 4 + 2) / 8 = 3.25

Nếu bạn muốn tăng tốc độ này bằng cách sử dụng Python, bạn có thể chia nó thành hai phần. Phần đầu tiên của tính toán này, nơi bạn đang thêm các số cùng nhau, là một nhiệm vụ cho

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2. Phần tiếp theo của thao tác, nơi bạn chia cho 8, sử dụng số lượng số trong mẫu của bạn. Để tính toán ước số của bạn, bạn có thể sử dụng
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
60:

>>>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
7

Tại đây, cuộc gọi đến

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 tính tổng số điểm dữ liệu trong mẫu của bạn. Tiếp theo, bạn sử dụng
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
60 để có được số lượng điểm dữ liệu. Cuối cùng, bạn thực hiện bộ phận cần thiết để tính toán trung bình số học của mẫu.

Trong thực tế, bạn có thể muốn biến mã này thành một hàm với một số tính năng bổ sung, chẳng hạn như tên mô tả và kiểm tra các mẫu trống:

>>>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
8

Bên trong

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
63, trước tiên bạn kiểm tra xem mẫu đầu vào có bất kỳ điểm dữ liệu nào không. Nếu không, thì bạn sẽ tăng một
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
64 với một thông điệp mô tả. Trong ví dụ này, bạn sử dụng toán tử Walrus để lưu trữ số lượng điểm dữ liệu trong biến
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
65 để bạn giành chiến thắng cần phải gọi lại
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
60. Câu lệnh trả về tính toán trung bình số học của mẫu và gửi lại cho mã gọi.

Lưu ý rằng khi bạn gọi

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
63 với một mẫu thích hợp, bạn sẽ nhận được giá trị trung bình mong muốn. Nếu bạn gọi
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
63 với một mẫu trống, thì bạn sẽ nhận được
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
64 như mong đợi.

Tìm sản phẩm chấm của hai chuỗi

Một vấn đề khác bạn có thể giải quyết bằng cách sử dụng

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 là tìm sản phẩm DOT của hai chuỗi có độ dài bằng nhau của các giá trị số. Sản phẩm DOT là tổng đại số của các sản phẩm của mỗi cặp giá trị trong các chuỗi đầu vào. Ví dụ: nếu bạn có các chuỗi (1, 2, 3) và (4, 5, 6), thì bạn có thể tính toán sản phẩm DOT của họ bằng tay bằng cách sử dụng bổ sung và nhân:

1 × 4 + 2 × 5 + 3 × 6 = 32

Để trích xuất các cặp giá trị liên tiếp từ các chuỗi đầu vào, bạn có thể sử dụng

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
71. Sau đó, bạn có thể sử dụng biểu thức máy phát để nhân mỗi cặp giá trị. Cuối cùng,
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 có thể tổng hợp các sản phẩm:

>>>

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
9

Với

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
71, bạn tạo một danh sách các bộ dữ liệu với các giá trị từ mỗi chuỗi đầu vào. Các vòng biểu thức của trình tạo trên mỗi tuple trong khi nhân các cặp giá trị liên tiếp được sắp xếp trước đó bởi
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
71. Bước cuối cùng là thêm các sản phẩm với nhau bằng cách sử dụng
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2.

Mã trong ví dụ trên hoạt động. Tuy nhiên, sản phẩm DOT được xác định cho các chuỗi có độ dài bằng nhau, vậy điều gì xảy ra nếu bạn cung cấp các chuỗi với các độ dài khác nhau? Trong trường hợp đó,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
71 bỏ qua các giá trị bổ sung từ chuỗi dài nhất, dẫn đến kết quả không chính xác.

Để đối phó với khả năng này, bạn có thể kết thúc cuộc gọi đến

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 trong một chức năng tùy chỉnh và cung cấp một kiểm tra thích hợp cho độ dài của các chuỗi đầu vào:

>>>

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
0

Ở đây,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
78 lấy hai chuỗi làm đối số và trả về sản phẩm DOT tương ứng của chúng. Nếu các chuỗi đầu vào có độ dài khác nhau, thì hàm tăng
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
64.

Nhúng chức năng vào một chức năng tùy chỉnh cho phép bạn sử dụng lại mã. Nó cũng cung cấp cho bạn cơ hội để đặt tên cho chức năng một cách mô tả để người dùng biết chức năng làm gì chỉ bằng cách đọc tên của nó.

Làm phẳng danh sách các danh sách

Làm phẳng danh sách các danh sách là một nhiệm vụ phổ biến trong Python. Giả sử bạn có một danh sách các danh sách và cần phải làm phẳng nó vào một danh sách duy nhất chứa tất cả các mục từ các danh sách lồng nhau ban đầu. Bạn có thể sử dụng bất kỳ cách tiếp cận nào để làm phẳng danh sách trong Python. Ví dụ: bạn có thể sử dụng vòng lặp

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
8, như trong mã sau:

>>>

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
1

Ở đây,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
78 lấy hai chuỗi làm đối số và trả về sản phẩm DOT tương ứng của chúng. Nếu các chuỗi đầu vào có độ dài khác nhau, thì hàm tăng
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
64.

Nhúng chức năng vào một chức năng tùy chỉnh cho phép bạn sử dụng lại mã. Nó cũng cung cấp cho bạn cơ hội để đặt tên cho chức năng một cách mô tả để người dùng biết chức năng làm gì chỉ bằng cách đọc tên của nó.

>>>

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
2

Ở đây,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
78 lấy hai chuỗi làm đối số và trả về sản phẩm DOT tương ứng của chúng. Nếu các chuỗi đầu vào có độ dài khác nhau, thì hàm tăng
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
64.

Nhúng chức năng vào một chức năng tùy chỉnh cho phép bạn sử dụng lại mã. Nó cũng cung cấp cho bạn cơ hội để đặt tên cho chức năng một cách mô tả để người dùng biết chức năng làm gì chỉ bằng cách đọc tên của nó.

>>>

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
3

Ở đây,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
78 lấy hai chuỗi làm đối số và trả về sản phẩm DOT tương ứng của chúng. Nếu các chuỗi đầu vào có độ dài khác nhau, thì hàm tăng
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
64.

Nhúng chức năng vào một chức năng tùy chỉnh cho phép bạn sử dụng lại mã. Nó cũng cung cấp cho bạn cơ hội để đặt tên cho chức năng một cách mô tả để người dùng biết chức năng làm gì chỉ bằng cách đọc tên của nó.

>>>

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
4

Ở đây,

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
78 lấy hai chuỗi làm đối số và trả về sản phẩm DOT tương ứng của chúng. Nếu các chuỗi đầu vào có độ dài khác nhau, thì hàm tăng
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
64.

Nhúng chức năng vào một chức năng tùy chỉnh cho phép bạn sử dụng lại mã. Nó cũng cung cấp cho bạn cơ hội để đặt tên cho chức năng một cách mô tả để người dùng biết chức năng làm gì chỉ bằng cách đọc tên của nó.

Làm phẳng danh sách các danh sách

Làm phẳng danh sách các danh sách là một nhiệm vụ phổ biến trong Python. Giả sử bạn có một danh sách các danh sách và cần phải làm phẳng nó vào một danh sách duy nhất chứa tất cả các mục từ các danh sách lồng nhau ban đầu. Bạn có thể sử dụng bất kỳ cách tiếp cận nào để làm phẳng danh sách trong Python. Ví dụ: bạn có thể sử dụng vòng lặp

>>> numbers = [1, 2, 3, 4, 5]
>>> total = 0

>>> for number in numbers:
...     total += number
...

>>> total
15
8, như trong mã sau:

Bên trong

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
81, vòng lặp lặp lại trên tất cả các danh sách lồng nhau có trong
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
82. Sau đó, nó kết hợp chúng trong
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
83 bằng cách sử dụng một hoạt động gán tăng cường (
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
84). Kết quả là, bạn nhận được một danh sách phẳng với tất cả các mục từ các danh sách lồng nhau ban đầu.

Nhưng hãy giữ! Bạn đã học được cách sử dụng >>> >>> sum([10, 20, 30], 100) 160 >>> 2 để nối các chuỗi trong hướng dẫn này. Bạn có thể sử dụng tính năng đó để làm phẳng danh sách các danh sách như bạn đã làm trong ví dụ trên không? Đúng! Đây là cách: làm thế nào:

Nó thật nhanh! Một dòng mã duy nhất và

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
86 hiện là một danh sách phẳng. Tuy nhiên, sử dụng
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 không có vẻ là giải pháp nhanh nhất.

Một nhược điểm quan trọng của bất kỳ giải pháp nào ngụ ý sự kết hợp là đằng sau hậu trường, mọi bước trung gian đều tạo ra một danh sách mới. Điều này có thể khá lãng phí về mặt sử dụng bộ nhớ. Danh sách cuối cùng được trả lại chỉ là danh sách được tạo gần đây nhất trong số tất cả các danh sách được tạo ra ở mỗi vòng kết nối. Thay vào đó, sử dụng danh sách hiểu biết rằng bạn tạo và trả về chỉ một danh sách:

>>>

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
5

Phiên bản mới này của

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
81 hiệu quả hơn và ít lãng phí hơn về mặt sử dụng bộ nhớ. Tuy nhiên, các toàn diện lồng nhau có thể là một thách thức để đọc và hiểu.

>>>

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
6

Trong các ví dụ này, cả hai chức năng trả về cùng một kết quả. Điều này là do sự bất khả thi của việc thể hiện chính xác cả hai giá trị

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
13 và
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
14 trong điểm nổi nhị phân:

>>>

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
7

Tuy nhiên, không giống như

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2,
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
01 có thể giúp bạn giảm sự lan truyền lỗi dấu phẩy động khi bạn thêm các số rất lớn và rất nhỏ lại với nhau:

>>>

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
8

Ồ! Ví dụ thứ hai là khá đáng ngạc nhiên và hoàn toàn đánh bại

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2. Với
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2, kết quả là bạn nhận được
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
19. Điều này khá xa so với kết quả chính xác của
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
20, khi bạn nhận được với
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
01.

Kết nối lặp lại với >>> >>> sum([1, 2, 3, 4, 5]) # sum values in a list 15 >>> >>> sum((1, 2, 3, 4, 5)) # sum values in a tuple 15 >>> >>> sum({1, 2, 3, 4, 5}) # sum values in a set 15 >>> >>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 6 >>> 22

Nếu bạn đang tìm kiếm một công cụ tiện dụng để kết hợp hoặc chuỗi một loạt các vòng lặp, thì hãy xem xét sử dụng

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
03 từ
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
02. Chức năng này có thể lấy nhiều lần lặp và xây dựng một trình lặp lại mang lại các mục từ mục thứ nhất, từ cái thứ hai, v.v.

>>>

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
9

Khi bạn gọi

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
03, bạn sẽ nhận được một trình lặp của các mục từ các vòng lặp đầu vào. Trong ví dụ này, bạn truy cập các mục liên tiếp từ
>>> def sum_numbers(numbers):
...     total = 0
...     for number in numbers:
...         total += number
...     return total
...

>>> sum_numbers([1, 2, 3, 4, 5])
15

>>> sum_numbers([])
0
1 bằng cách sử dụng
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
27. Nếu bạn muốn làm việc với một danh sách thay thế, thì bạn có thể sử dụng
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
28 để tiêu thụ trình lặp và trả về danh sách Python thông thường.

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
03 cũng là một lựa chọn tốt để làm phẳng danh sách các danh sách trong Python:

>>>

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
0

Để làm phẳng danh sách các danh sách với

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
03, bạn cần sử dụng toán tử giải nén có thể lặp lại (
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
31). Toán tử này giải nén tất cả các vòng lặp đầu vào để
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
03 có thể làm việc với chúng và tạo bộ lặp tương ứng. Bước cuối cùng là gọi
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
28 để xây dựng danh sách phẳng mong muốn.iterable unpacking operator (
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
31). This operator unpacks all the input iterables so that
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
03 can work with them and generate the corresponding iterator. The final step is to call
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
28 to build the desired flat list.

Dây nối với 1 2 3 4 5 6 7 8 9 10 11 12 1349

Như bạn đã thấy,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 không liên kết hoặc tham gia chuỗi. Nếu bạn cần phải làm như vậy, thì công cụ ưa thích và nhanh nhất có sẵn trong Python là
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
49. Phương pháp này lấy một chuỗi các chuỗi làm đối số và trả về một chuỗi mới, được nối:

>>>

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
1

Sử dụng

>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
37 là cách hiệu quả nhất và pythonic để nối các chuỗi. Ở đây, bạn sử dụng một danh sách các chuỗi làm đối số và xây dựng một chuỗi duy nhất từ ​​đầu vào. Lưu ý rằng
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
37 sử dụng chuỗi mà bạn gọi phương thức làm dấu phân cách trong quá trình ghép. Trong ví dụ này, bạn gọi
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
37 trên một chuỗi bao gồm một ký tự không gian duy nhất (
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
40), do đó các chuỗi gốc từ
>>> 
>>> sum([1, 2, 3, 4, 5]) # sum values in a list
15
>>> 
>>> sum((1, 2, 3, 4, 5)) # sum values in a tuple
15
>>> 
>>> sum({1, 2, 3, 4, 5}) # sum values in a set
15
>>> 
>>> sum({1: "one", 2: "two", 3: "three"}) # sum values in a 
6
>>>
41 được phân tách bằng khoảng trắng trong chuỗi cuối cùng của bạn.

Sự kết luận

Bây giờ bạn có thể sử dụng chức năng tích hợp Python,

>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 để thêm nhiều giá trị số lại với nhau. Hàm này cung cấp một cách hiệu quả, dễ đọc và pythonic để giải quyết các vấn đề tổng trong mã của bạn. Nếu bạn xử lý các tính toán toán học yêu cầu tổng các giá trị số, thì
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 có thể là cứu cánh của bạn.summation problems in your code. If you’re dealing with math computations that require summing numeric values, then
>>> 
>>> sum([10, 20, 30], 100)
160
>>>
2 can be your lifesaver.

Trong hướng dẫn này, bạn đã học được cách:

  • Tổng các giá trị số bằng các kỹ thuật và công cụ chunggeneral techniques and tools
  • Thêm một số giá trị số một cách hiệu quả bằng cách sử dụng Python từ
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2Python’s
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2
  • Trình tự kết hợp bằng cách sử dụng
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2
    using
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2
  • Sử dụng
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2 để tiếp cận các vấn đề tổng hợp phổ biếnsummation problems
  • Sử dụng các giá trị phù hợp cho các đối số
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    3 và
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    4 trong
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    3 and
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    4 arguments
    in
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2
  • Quyết định giữa
    >>> 
    >>> sum([10, 20, 30], 100)
    160
    >>>
    
    2 và các công cụ thay thế cho các đối tượng tổng hợp và concatenatealternative tools to sum and concatenate objects

Với kiến ​​thức này, giờ đây bạn có thể thêm nhiều giá trị số lại với nhau theo cách pythonic, dễ đọc và hiệu quả.

Làm thế nào để chức năng Sum hoạt động trong Python?

Hàm SUM () trong Python Python cung cấp một 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.sums up the numbers in the list. Syntax: 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.

Làm thế nào để bạn viết một khoản tiền trong Python?

Hàm SUM () được sử dụng để lấy tổng của tất cả các mục trong một lần lặp lại ...
Phiên bản: ... .
Cú pháp: Sum (itable [, start]).
Tham số: ... .
Giá trị trả lại: ....
Ví dụ: Python sum () num = [3.5, 5, 2, -5] # tham số start không được cung cấp numsum = sum (num) in (numsum) # start = 15 numsum = sum (num, 15) in (numsum)....
Trình bày bằng hình ảnh:.

Sum có phải là một phương thức trong Python?

Tổng chức năng tích hợp của Python () là một cách hiệu quả và pythonic để tổng hợp một danh sách các giá trị số..