Hướng dẫn what is the use of accumulate function in python? - công dụng của hàm tích lũy trong python là gì?

Mô -đun Python Itertools là một tập hợp các công cụ để xử lý các trình lặp lại.

Theo tài liệu chính thức:

Mô -đun [mà] thực hiện một số khối xây dựng vòng lặp được lấy cảm hứng từ các cấu trúc từ APL, Haskell và SML, chúng tạo thành một đại số iterator, giúp xây dựng các công cụ chuyên dụng một cách ngắn gọn và hiệu quả trong python thuần túy. Điều này về cơ bản có nghĩa là các chức năng trong itertools hoạt động trên các trình lặp để tạo ra các trình lặp phức tạp hơn.

Nói một cách đơn giản, trình lặp là các loại dữ liệu có thể được sử dụng trong một vòng lặp. Công cụ lặp lại phổ biến nhất trong Python là danh sách.

Hãy để tạo ra một danh sách các chuỗi và được đặt tên là màu sắc. Chúng ta có thể sử dụng một vòng lặp để lặp lại danh sách như:

Các

import itertools
import operator ## only needed if want to play with operators
5
import itertools
import operator ## only needed if want to play with operators
6
import itertools
import operator ## only needed if want to play with operators
7
import itertools
import operator ## only needed if want to play with operators
8

import itertools
import operator ## only needed if want to play with operators
9
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
0
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
1

Output:

red
orange
yellow
green

Có nhiều loại lặp khác nhau nhưng hiện tại, chúng tôi sẽ sử dụng danh sách và bộ.

Yêu cầu làm việc với itertools

Phải nhập mô -đun ITERTOOLS trước khi sử dụng. Chúng tôi cũng phải nhập mô -đun toán tử vì chúng tôi muốn làm việc với các nhà khai thác.itertools module before using. We have to also import the operator module because we want to work with operators.

import itertools
import operator ## only needed if want to play with operators

Mô -đun ITERTOOLS là một tập hợp các chức năng. Chúng tôi sẽ khám phá một trong các hàm tích lũy () này. module is a collection of functions. We are going to explore one of these accumulate() function.

Lưu ý: Để biết thêm thông tin, hãy tham khảo Python Itertools For more information, refer to Python Itertools

accumulate()

Trình lặp này có hai đối số, mục tiêu có thể lặp lại và hàm sẽ được theo dõi tại mỗi lần lặp có giá trị trong mục tiêu. Nếu không có chức năng nào được thông qua, bổ sung diễn ra theo mặc định. Nếu đầu vào có thể trống, đầu ra có thể lặp lại cũng sẽ trống.

Cú pháp
itertools.accumulate(iterable[, func]) –> accumulate object

Hàm này tạo ra một trình lặp trả về kết quả của một hàm.

Tham sốIderable & Function
iterable & function

Bây giờ nó đủ của phần lý thuyết cho phép chơi với mã

Mã: 1

operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
2
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
3

operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
2
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
5

operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
6= [
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
9_______

5
max(5, 3)
5
max(5, 6)
6
max(6, 2)
6
max(6, 1)
6
max(6, 9)
9
max(9, 1)
9
9= colors 1

colors 2colors 3

import itertools
import operator ## only needed if want to play with operators
5
import itertools
import operator ## only needed if want to play with operators
6
import itertools
import operator ## only needed if want to play with operators
7 colors 7

import itertools
import operator ## only needed if want to play with operators
9
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
0
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
1

Giải trình :

Người vận hành.mul lấy hai số và nhân chúng.

operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120

Bây giờ trong ví dụ tiếp theo, chúng ta sẽ sử dụng hàm tối đa vì nó cũng có chức năng làm tham số.

Mã 2:

operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
2
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
3

operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
2
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
5

operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
6= [
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
9_______

5
max(5, 3)
5
max(5, 6)
6
max(6, 2)
6
max(6, 1)
6
max(6, 9)
9
max(9, 1)
9
9= colors 1

import itertools
import operator ## only needed if want to play with operators
5
import itertools
import operator ## only needed if want to play with operators
6
import itertools
import operator ## only needed if want to play with operators
7 colors 7

import itertools
import operator ## only needed if want to play with operators
9
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
0
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
1

Explanation:

5
max(5, 3)
5
max(5, 6)
6
max(6, 2)
6
max(6, 1)
6
max(6, 9)
9
max(9, 1)
9

Giải trình :The passing function is optional as if you will not pass any function items will be summed i.e. added by default.

Người vận hành.mul lấy hai số và nhân chúng.
This return accumulate of items of difference between sets.

Bây giờ trong ví dụ tiếp theo, chúng ta sẽ sử dụng hàm tối đa vì nó cũng có chức năng làm tham số.

operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
2
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
3

operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
2
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
5

operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
6= [
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
9_______

5
max(5, 3)
5
max(5, 6)
6
max(6, 2)
6
max(6, 1)
6
max(6, 9)
9
max(9, 1)
9
9= colors 1

import itertools
import operator ## only needed if want to play with operators
5
import itertools
import operator ## only needed if want to play with operators
6
import itertools
import operator ## only needed if want to play with operators
7 colors 7

import itertools
import operator ## only needed if want to play with operators
9
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
0
operator.mul(1, 2)
2
operator.mul(2, 3)
6
operator.mul(6, 4)
24
operator.mul(24, 5)
120
1


Việc sử dụng itertools trong Python là gì?

ITERTOOLS là một mô-đun trong Python, nó được sử dụng để lặp lại các cấu trúc dữ liệu có thể được đẩy lùi bằng cách sử dụng vòng lặp. Cấu trúc dữ liệu như vậy còn được gọi là lặp. Mô-đun này hoạt động như một công cụ nhanh, tiết kiệm bộ nhớ được sử dụng bởi chính chúng hoặc kết hợp để tạo thành đại số Iterator.to iterate over data structures that can be stepped over using a for-loop. Such data structures are also known as iterables. This module works as a fast, memory-efficient tool that is used either by themselves or in combination to form iterator algebra.

Chuỗi trong Python là gì?

Chuỗi () hàm Nó là một hàm lấy một loạt các vòng lặp và trả về một điều có thể được điều chỉnh.Nó nhóm tất cả các phép lặp lại với nhau và tạo ra một điều có thể đi được.a function that takes a series of iterables and returns one iterable. It groups all the iterables together and produces a single iterable as output.

Làm thế nào để bạn làm cho một chức năng python có thể có được?

Có bốn cách để xây dựng một chức năng lặp:..
Tạo một trình tạo (sử dụng từ khóa năng suất).
Sử dụng biểu thức máy phát (GenExP).
Tạo một trình lặp (xác định __iter__ và __next__ (hoặc tiếp theo trong Python 2. x)).
Tạo một lớp mà Python có thể tự mình lặp lại (xác định __getItem__).

Itertools có nhanh hơn các vòng không?

Mặc dù đây là một cách tiếp cận hoàn toàn tốt, nhưng điều quan trọng cần nhớ là sử dụng iterTools Iterators có nghĩa là sử dụng các trình lặp lại là triển khai pythonic của các trình lặp ở nơi khác.Điều đó đang được nói, các máy lặp từ itertools thường nhanh hơn đáng kể so với lần lặp thông thường từ một python tiêu chuẩn cho vòng lặp.the iterators from itertools are often significantly faster than regular iteration from a standard Python for loop.