📜  Python – Itertools.Product()

📅  最后修改于: 2022-05-13 01:55:30.288000             🧑  作者: Mango

Python – Itertools.Product()

在数学中,两个集合的笛卡尔积定义为所有有序对 (a, b) 的集合,其中 a 属于 A,b 属于 B。请考虑以下示例以便更好地理解。
例子:

上述解决方案可以通过循环来完成,但我们将使用一个特殊的Python库itertools.product()来查找笛卡尔积。让我们来看看这个Python库的工作和用例。

Python中的 Itertools 是什么?

Python Itertools 是Python中的一个库,它由多种方法组成,这些方法在各种迭代器中用于计算快速且代码高效的解决方案。

注意:更多信息请参考Python Itertools

itertools.product() 做什么?

itertools.product() 用于从给定的迭代器中找到笛卡尔积,输出按字典顺序排列。 itertools.product() 可以以两种不同的方式使用:

  • itertools.product(*iterables, 重复=1):
    它以可选关键字“repeat”指定的次数返回所提供的迭代的笛卡尔积。例如,product(arr, repeat=3) 与 product(arr, arr, arr) 的含义相同。
  • itertools.product(*iterables):
    它返回作为参数提供的所有迭代的笛卡尔积。例如,产品(arr1,arr2,arr3)。

例子:

Python3
from itertools import product
 
def cartesian_product(arr1, arr2):
 
    # return the list of all the computed tuple
    # using the product() method
    return list(product(arr1, arr2))
   
# Driver Function
if __name__ == "__main__":
    arr1 = [1, 2, 3]
    arr2 = [5, 6, 7]
    print(cartesian_product(arr1, arr2))


输出: