Share python source itertools

thuanphonghuynh

New member
**# Python |itertools |Mã nguồn**

Mô -đun ITERTOOLS trong Python cung cấp một số chức năng có thể được sử dụng để tạo ra các trình lặp.Các trình lặp này có thể được sử dụng để lặp lại qua các vòng lặp theo những cách khác nhau hoặc để tạo ra các vòng lặp mới từ các loại hiện có.

Sau đây là danh sách các chức năng được sử dụng phổ biến nhất trong mô -đun Itertools:

* `itertools.combinations ()`: Hàm này trả về một trình lặp lại trên tất cả các kết hợp có thể có của một số ít có thể.
* `itertools.Permutations ()`: Hàm này trả về một trình lặp trên tất cả các hoán vị có thể của một điều đó có thể.
* `itertools.product ()`: Hàm này trả về một trình lặp lại trên tất cả các sản phẩm có thể có của một số ít có thể.
* `itertools. tích lũy ()`: Hàm này trả về một trình lặp qua tổng tích lũy của một IT có thể.
* `itertools.chain ()`: Hàm này trả về một trình lặp kết hợp các phần tử của hai hoặc nhiều vòng lặp.

Để biết thêm thông tin về mô -đun itertools, vui lòng xem [tài liệu Python] (https://docs.python.org/3/l Library/itertools.html).

** Đây là mã nguồn cho mô -đun itertools: **

`` `Python
Nhập itertools

Sự kết hợp của def (itable, r):
"" "
Trả về một trình lặp lại trên tất cả các kết hợp có thể của các phần tử R từ ITBERSEBLE.

Thông số:
Có thể lặp lại: Một đối tượng có thể lặp lại.
R: Số lượng các yếu tố trong mỗi kết hợp.

Năng suất:
Một tuple chứa các yếu tố của mỗi kết hợp.
"" "

Đối với tôi trong phạm vi (Len (có thể sử dụng được) - R + 1):
năng suất tuple (có thể lặp lại [i: i + r])

Def Permutations (có thể lặp lại):
"" "
Trả về một phép lặp trên tất cả các hoán vị có thể của ITable.

Thông số:
Có thể lặp lại: Một đối tượng có thể lặp lại.

Năng suất:
Một tuple chứa các yếu tố của mỗi hoán vị.
"" "

Đối với tôi trong phạm vi (Len (có thể sử dụng được)):
năng suất tuple (Itable [i:] + itable [: i])

Sản phẩm def (iterables):
"" "
Trả về một tererator trên sản phẩm Cartesian của Iterables đã cho.

Thông số:
Iterables: Một chuỗi các đối tượng có thể lặp lại.

Năng suất:
Một tuple chứa các yếu tố của mỗi sản phẩm.
"" "

Đối với tôi trong itertools.product (*iterables):
năng suất tuple (i)

DEF Tích lũy (itable, func = toán tử.add):
"" "
Trả về một trình lặp qua tổng tích lũy của ITBER.

Thông số:
Có thể lặp lại: Một đối tượng có thể lặp lại.
Func: Một chức năng để áp dụng cho từng yếu tố của Itable.

Năng suất:
Tổng tích lũy của các yếu tố của có thể.
"" "

accumulator = 0
Đối với yếu tố trong ITable:
accumulator = func (accumulator, fement)
Năng lượng tích lũy

chuỗi def (*iterables):
"" "
Trả về một trình lặp kết hợp các yếu tố của các vòng lặp đã cho.

Thông số:
Iterables: Một chuỗi các đối tượng có thể lặp lại.

Năng suất:
Các yếu tố của các vòng lặp, theo thứ tự.
"" "

Đối với có thể lặp lại trong Iterables:
Đối với yếu tố trong ITable:
YENID Yếu tố

** Hashtags: **

* #Python
* #itertools
* #mã nguồn
* #iterators
* Lập trình #Functional
=======================================
**# Python | itertools | Source Code**

The itertools module in Python provides a number of functions that can be used to create iterators. These iterators can be used to iterate over iterables in different ways, or to create new iterables from existing ones.

The following is a list of the most commonly used functions in the itertools module:

* `itertools.combinations()`: This function returns an iterator over all possible combinations of a given iterable.
* `itertools.permutations()`: This function returns an iterator over all possible permutations of a given iterable.
* `itertools.product()`: This function returns an iterator over all possible products of a given iterable.
* `itertools.accumulate()`: This function returns an iterator over the cumulative sum of a given iterable.
* `itertools.chain()`: This function returns an iterator that combines the elements of two or more iterables.

For more information on the itertools module, please see the [Python documentation](https://docs.python.org/3/library/itertools.html).

**Here is the source code for the itertools module:**

```python
import itertools

def combinations(iterable, r):
"""
Returns an iterator over all possible combinations of r elements from iterable.

Parameters:
iterable: An iterable object.
r: The number of elements in each combination.

Yields:
A tuple containing the elements of each combination.
"""

for i in range(len(iterable) - r + 1):
yield tuple(iterable[i:i + r])

def permutations(iterable):
"""
Returns an iterator over all possible permutations of iterable.

Parameters:
iterable: An iterable object.

Yields:
A tuple containing the elements of each permutation.
"""

for i in range(len(iterable)):
yield tuple(iterable[i:] + iterable[:i])

def product(iterables):
"""
Returns an iterator over the Cartesian product of the given iterables.

Parameters:
iterables: A sequence of iterable objects.

Yields:
A tuple containing the elements of each product.
"""

for i in itertools.product(*iterables):
yield tuple(i)

def accumulate(iterable, func=operator.add):
"""
Returns an iterator over the cumulative sum of iterable.

Parameters:
iterable: An iterable object.
func: A function to apply to each element of the iterable.

Yields:
The cumulative sum of the elements of iterable.
"""

accumulator = 0
for element in iterable:
accumulator = func(accumulator, element)
yield accumulator

def chain(*iterables):
"""
Returns an iterator that combines the elements of the given iterables.

Parameters:
iterables: A sequence of iterable objects.

Yields:
The elements of the iterables, in order.
"""

for iterable in iterables:
for element in iterable:
yield element

**Hashtags:**

* #Python
* #itertools
* #Source code
* #iterators
* #Functional programming
 
Join Telegram ToolsKiemTrieuDoGroup
Back
Top