
文章目录
- 一、`product()`是什么?
- 二、`product()`的具体使用案例
- 代码详细分析
 
- 总结
一、product()是什么?
 
在Python中,product()是内置函数itertools提供的一个工具函数,可以计算多个可迭代对象的笛卡尔积。product()接受一个或多个可迭代对象作为参数,然后将它们的每个元素进行组合,返回一个新的迭代器。
二、product()的具体使用案例
 
例如,假设我们有两个可迭代对象A和B:
>>> A = [1, 2, 3]
>>> B = ['a', 'b']
我们可以使用product()来计算它们的笛卡尔积,如下所示:
from itertools import product
C = list(product(A, B))
print(C)
# [(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b'), (3, 'a'), (3, 'b')]
代码详细分析
- 这里使用了from itertools import product将itertools模块中的product()函数导入了当前的命名空间中。然后,我们调用product(A, B)来计算A和B的笛卡尔积,并使用list()将其转换为一个列表。
- 我们会注意到,product()函数返回的结果是一个迭代器,如果迭代的量非常大,可以使用迭代器来避免占用大量内存,而不必将其全部储存在内存中。
- product()函数可以接受任意数量的可迭代对象作为参数,并计算它们的笛卡尔积。如果我们有三个以上的可迭代对象,我们可以像这样使用- product():
C = list(product(A, B, [1, 2]))
print(C)
[(1, 'a', 1), (1, 'a', 2), (1, 'b', 1), (1, 'b', 2), (2, 'a', 1), (2, 'a', 2), (2, 'b', 1), (2, 'b', 2), (3, 'a', 1), (3, 'a', 2), (3, 'b', 1), (3, 'b', 2)]
这里我们传入了三个可迭代对象A,B和一个包含两个元素的列表[1, 2],然后计算它们的笛卡尔积。
总结
总之,product()函数是一个非常有用的工具函数,可以方便地计算多个可迭代对象的笛卡尔积。


















