Trong các điều khoản của Sản phẩm toán học của hai bộ được định nghĩa là tập hợp của tất cả các cặp theo thứ tự [A, B] trong đó A thuộc về A và B thuộc về B. Hãy xem xét ví dụ dưới đây để hiểu rõ hơn.
Examples:
Đầu vào: ARR1 = [1, 2, 3] & NBSP; ARR2 = [5, 6, 7] & NBSP; đầu ra: [[1, 5], [1, 6], [1, 7], [2, 5] , [2, 6], [2, 7], [3, 5], [3, 6], [3, 7]] & nbsp; , 10] & nbsp; đầu ra: [[10, 8], [10, 9], [10, 10], [12, 8], [12, 9], [12, 10]] & nbsp; & nbsp; arr1 = [1, 2, 3]
arr2 = [5, 6, 7]
Output : [[1, 5], [1, 6], [1, 7], [2, 5], [2, 6], [2, 7], [3, 5], [3, 6], [3, 7]]
Input : arr1 = [10, 12]
arr2 = [8, 9, 10]
Output : [[10, 8], [10, 9], [10, 10], [12, 8], [12, 9], [12, 10]]
Giải pháp trên có thể được thực hiện bằng cách lặp nhưng chúng tôi sẽ sử dụng một thư viện Python đặc biệt itertools.product [] để tìm sản phẩm Cartesian. Hãy cùng đi qua các trường hợp làm việc và sử dụng của thư viện Python này. & NBSP;itertools.product[] for finding the Cartesian Product. Let’s go through the working and use cases of this Python library.
Itertools trong Python là gì?
Python Itertools là một thư viện trong Python bao gồm nhiều phương pháp được sử dụng trong các trình lặp khác nhau để tính toán một giải pháp hiệu quả nhanh và mã. & NBSP;
itertools.product [] thuộc danh mục có tên là iterators kết hợp của thư viện python itertools.
Lưu ý: Để biết thêm thông tin, hãy tham khảo Python Itertools & NBSP; For more information, refer to
Python Itertools
Itertools.product [] làm gì?
itertools.product [] được sử dụng để tìm sản phẩm Cartesian từ iterator đã cho, đầu ra được đặt hàng từ vựng. Itertools.product [] có thể được sử dụng theo hai cách khác nhau:
- itertools.product [*iterables, lặp lại = 1]: nó trả về sản phẩm Cartesian của điều kiện được cung cấp với số lần được chỉ định bởi từ khóa tùy chọn lặp lại lặp lại. Ví dụ: sản phẩm [mảng, lặp lại = 3] có nghĩa là giống như sản phẩm [mảng, mảng, mảng].
It returns the cartesian product of the provided iterable with itself for the number of times specified by the optional keyword “repeat”. For example, product[arr, repeat=3] means the same as product[arr, arr, arr]. - itertools.product [*iterables]: nó trả về sản phẩm Cartesian của tất cả các điều khác được cung cấp dưới dạng đối số. Ví dụ: sản phẩm [ARR1, ARR2, ARR3].
It returns the cartesian product of all the iterable provided as the argument. For example, product[arr1, arr2, arr3].
Example:
Python3
from
itertools
import
product
def
cartesian_product[arr1, arr2]:
import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
0____11 import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
2import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
3import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
4 import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
5import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
6import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
6 import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
8import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
9Các
import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
0import math
a_list = [2, 3, 4, 5]
product = math.prod[a_list]
print[product]
1import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
6 import numpy
a_list = [2, 3, 4, 5]
product = numpy.prod[a_list]
print[product]
3import math
a_list = [2, 3, 4, 5]
product = math.prod[a_list]
print[product]
4import numpy
a_list = [2, 3, 4, 5]
product = numpy.prod[a_list]
print[product]
5import math
a_list = [2, 3, 4, 5]
product = math.prod[a_list]
print[product]
6import numpy
a_list = [2, 3, 4, 5]
product = numpy.prod[a_list]
print[product]
5import math
a_list = [2, 3, 4, 5]
product = math.prod[a_list]
print[product]
8import numpy
a_list = [2, 3, 4, 5]
product = numpy.prod[a_list]
print[product]
9import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
0from
1from
2Output:
[[1, 5], [1, 6], [1, 7], [2, 5], [2, 6], [2, 7], [3, 5], [3, 6], [ 3, 7]] & nbsp;
Sử dụng cho vòng lặp hoặc functools giảm [] hoặc numpy prod [] hoặc math prod [] để tìm một sản phẩm của danh sách trong Python. Có nhiều cách để làm điều đó.functools reduce[] or numpy prod[] or math prod[] to find a product of list in Python. There are more ways to do it.
Mã ví dụ đơn giản nhân tất cả các giá trị trong một danh sách trong Python.
Sử dụng một vòng lặp
Lặp qua danh sách và nhân mỗi phần tử.
a_list = [2, 3, 4, 5]
product = 1
for item in a_list:
product = product * item
print[product]
Output::
Sử dụng functools.reduce []
Nhập functools để sử dụng hàm giảm [].
import functools
import operator
a_list = [2, 3, 4, 5]
product = functools.reduce[operator.mul, a_list]
print[product]
Sử dụng numpy.prod []
Nó trả về một số nguyên hoặc giá trị float tùy thuộc vào kết quả nhân.
import numpy
a_list = [2, 3, 4, 5]
product = numpy.prod[a_list]
print[product]
Sử dụng toán học
Một chức năng prod đã được đưa vào mô -đun toán học trong thư viện tiêu chuẩn,
import math
a_list = [2, 3, 4, 5]
product = math.prod[a_list]
print[product]
Hãy bình luận nếu bạn có bất kỳ nghi ngờ hoặc đề xuất nào về mã sản phẩm Python này.
Lưu ý: IDE: & NBSP; Pycharm & NBSP; 2021.3.3 [Phiên bản cộng đồng] IDE: PyCharm 2021.3.3 [Community Edition]
Windows 10
Python 3.10.1
Tất cả & nbsp; ví dụ python & nbsp; là trong & nbsp; Python & nbsp; 3, vì vậy có thể khác với các phiên bản Python 2 hoặc nâng cấp. Python Examples are in Python 3, so Maybe its different from python 2 or upgraded versions.
Bằng cấp về Khoa học máy tính và Kỹ sư: Nhà phát triển ứng dụng và có nhiều ngôn ngữ lập trình kinh nghiệm. Sự nhiệt tình cho công nghệ và thích học kỹ thuật.