Hãy nói về cách giảm cuối cùng và điều này hơi nâng cao và có thể hơi khó nắm bắt lúc đầu, nhưng thật tốt
khi biết rằng nó tồn tại và bạn có thể tìm hiểu thêm về nó bằng cách thực hành
nó và đọc một số tài liệu về riêng.
Bây giờ Reduce không đến như một phần của chức năng tích hợp sẵn của python.
Để chúng ta sử dụng giảm, chúng ta phải làm một cái gì đó như thế này.
Bây giờ, bạn chưa bao giờ thấy điều này trước đây và đây là điều mà chúng ta sẽ nói đến trong phần mô-đun
của khóa học.
Nhưng về cơ bản những gì đang xảy ra ở đây là khi chúng tôi tải xuống trình thông dịch Python và gói Python, trong trường hợp
của chúng tôi, ripple này đã làm điều đó cho chúng tôi.
Chúng tôi có thể nhập một thứ gì đó từ các công cụ funky này và các công cụ funk là cái mà chúng tôi gọi là vành đai công cụ mà
chúng tôi có thể sử dụng cho các công cụ chức năng đi kèm với cài đặt python.
Và từ đó có một chức năng cụ thể mà chúng ta có thể nhập.
Vì vậy, tôi đang nói, này, từ các công cụ funk từ vành đai công cụ này, tôi muốn bạn nhập hàm giảm để chúng ta có thể sử
dụng lại nó trong mã của mình, điều gì đó mà chúng ta sẽ đề cập sau trong khóa học.
Vì vậy, bây giờ, chỉ cần sao chép và dán dòng này.
Tiếp theo, hãy xóa một số danh sách của chúng tôi và ở đây sử dụng giảm.
Bây giờ với việc giảm bớt, chúng ta sẽ cần một vài thứ.
Ngày thứ nhất.
Chúng tôi cần chức năng.
Và sau đó chúng ta cần trình tự hoặc dữ liệu.
Vậy chức năng sẽ là gì?
Trước hết, dữ liệu của chúng tôi sẽ là danh sách của tôi.
Vì vậy, tôi sẽ nói danh sách của tôi và chức năng giảm cho phép chúng tôi làm điều gì đó thú vị.
Tôi có thể cho nó, giả sử, một hàm, và hàm này sẽ gọi nó là bộ tích lũy.
Và bộ tích lũy có hai tham số.
Và hãy nhớ rằng, điều này sẽ được gọi bằng cách giảm.
Vì vậy, Reduce sẽ phụ trách việc cung cấp hai tham số này từ dữ liệu mà chúng tôi cung cấp, đó là
danh sách của tôi.
Tham số đầu tiên sẽ là cái mà chúng tôi gọi là bộ tích lũy hoặc trong trường hợp của tôi là ACC.
Và đây sẽ là mục.
Bây giờ điều thực sự thú vị là khi chúng tôi lần đầu tiên vượt qua danh sách của tôi từ phần giảm bớt, chúng tôi sẽ nhận được
mục đầu tiên.
Mục đầu tiên sẽ nằm trong tham số này.
Tuy nhiên, Assisi này ban đầu là gì.
Vâng, nếu tôi chỉ cần loại bỏ các dấu ngoặc ở đây.
Và cho thấy bạn giảm.
Bạn thấy rằng chúng tôi có chức năng.
Trình tự, trong trường hợp của chúng tôi sẽ là danh sách của chúng tôi.
Và sau đó ban đầu và ban đầu là những gì bộ tích lũy sẽ được.
Vì vậy, một lần nữa, hãy nói rằng chúng ta sẽ có chức năng tích lũy mà chúng ta sẽ chưa
gọi.
Giảm sẽ làm điều đó cho chúng tôi.
Tôi sẽ đưa nó vào danh sách.
Hoặc dữ liệu mà chúng tôi muốn lặp lại.
Và sau đó tôi sẽ cung cấp cho nó một giá trị ban đầu bằng 0.
Vì vậy, chúng tôi có ba.
Tham số ở đây hoặc ba đối số mà chúng tôi cung cấp cho nó.
Để tôi đóng ngoặc.
Của bạn đây.
Hãy làm cho nó lớn hơn một chút ở đây và đảm bảo rằng tôi có thể đánh vần.
Bây giờ ở đây, mục đầu tiên sẽ là bất cứ thứ gì là mục đầu tiên trong danh sách của tôi.
Và khi đó bộ tích lũy sẽ mặc định bằng 0 nếu chúng ta không cung cấp cho nó bất cứ thứ gì.
Hoặc trong trường hợp của chúng tôi, chúng tôi đã nói rằng bộ tích lũy sẽ bằng không.
Vì vậy, điều đầu tiên chúng tôi sẽ làm là chúng tôi sẽ trả lại bộ tích lũy cộng với vật phẩm.
Được chứ.
Vì vậy, chúng ta hãy đi qua cái này từng cái một.
Tôi thực sự sẽ in ở đây bộ tích lũy và vật phẩm để chúng ta có thể nhìn thấy.
Và sau đó tôi sẽ chạy mã này.
Dòng 15 vào đối tượng không thể lặp lại.
Và điều này hơi phức tạp, nhưng chúng tôi thực sự không cần danh sách nữa bởi vì Reduce sẽ làm một điều gì đó
thú vị cho chúng tôi.
Vì vậy, bây giờ chúng ta chỉ cần loại bỏ điều này và chỉ cần trả lại bất cứ điều gì giảm cho chúng ta trong bản in.
Nếu tôi bấm Chạy.
Nhìn kìa.
Được rồi, vậy chuyện gì vừa xảy ra vậy?
Chúng ta hãy có một cái nhìn.
Giảm.
Cho phép chúng tôi giảm bớt thứ gì đó, một số loại giá trị từ giá trị có thể lặp lại mà chúng tôi cung cấp cho nó.
Vì vậy, chúng ta hãy đi từng bước một.
Chúng tôi có danh sách của tôi và danh sách của tôi sẽ được áp dụng cho bộ tích lũy thông qua giảm.
Bộ tích lũy sẽ lấy danh sách của tôi và điều đầu tiên nó sẽ làm trong lần chuyển đầu tiên là nói,
Này, bộ tích lũy của tôi sẽ là gì?
Tôi sẽ đặt nó về 0.
Vì vậy, lần đầu tiên đi qua bộ tích lũy sẽ bằng không.
Một mục sẽ là một, đó là những gì chúng ta thấy ở đây và chúng tôi sẽ thêm nó không cộng một.
Vì vậy, bây giờ chúng tôi đã trả lại một.
Bây giờ con đường thứ hai đến.
Điều gì sẽ xảy ra.
Lần thứ hai đi qua bộ tích lũy sẽ là những gì điều này được trả lại.
Vì vậy, lần vượt qua tiếp theo cho bất cứ thứ gì được trả lại này sẽ được điền vào bộ tích lũy.
Vì vậy, trong trường hợp của chúng ta, số không cộng với một sẽ là một.
Một mục sẽ được.
Một cộng hai sẽ là ba.
Vậy một cộng hai bằng ba.
Vì vậy, trong thời gian tới, bộ tích lũy sẽ là ba và những gì chúng ta đi qua sẽ là
ba như bạn có thể thấy ở đây.
Và ba cộng với ba là sáu.
Chúng tôi vừa tích lũy tất cả các giá trị này và trả về một số sáu duy nhất.
Chúng tôi đã giảm danh sách của mình thành một số loại dữ liệu mà chúng tôi đã sử dụng trong trường hợp của chúng tôi, bộ tích lũy.
Nhưng tôi có thể làm bất cứ điều gì tôi muốn ở đây.
Vì vậy, nếu, ví dụ, tôi thay đổi giá trị này không bằng mười, bạn nghĩ điều gì sẽ xảy ra nếu tôi nhấp vào Chạy?
Tôi nhận được 16 bởi vì tôi bắt đầu tích lũy ban đầu của mình với mười, vì vậy nó là mười cộng với một sau đó, vân vân và
vân vân.
Bây giờ giảm thực sự, thực sự mạnh mẽ vì bạn có thể làm được nhiều việc với nó.
Nó thực sự, thực sự linh hoạt.
Và thực sự bên dưới mui xe, các chức năng như bộ lọc bản đồ đang thực sự sử dụng tính năng giảm này bên dưới mui xe để bạn thực sự có thể
xây dựng bản đồ và chức năng lọc của riêng mình bằng cách sử dụng tính năng giảm thiểu.
Một lần nữa, ban đầu, giảm thiểu hơi khó hiểu và phải thực hành một chút để thực sự sử dụng nó, nhưng đó là
một trong những điều mà các lập trình viên nâng cao thực sự, thực sự yêu thích và bạn sẽ thấy ngày càng nhiều trong
suốt sự nghiệp của mình như bạn nhận được tốt hơn và tốt hơn.
Hẹn gặp lại các bạn trong phần tiếp theo.
Tạm biệt.