用于查找两个列表的笛卡尔积的 Python 程序
pythonserver side programmingprogramming更新于 2025/12/19 6:36:17
假设我们有两个数据列表 l1 和 l2。我们必须找到这两个列表的笛卡尔积。我们知道,如果两个列表像 (a, b) 和 (c, d),那么笛卡尔积将是 {(a, c), (a, d), (b, c), (b, d)}。为此,我们将使用 itertools 库并使用该库中的 product() 函数。此函数的返回值是一个迭代器。我们必须通过将输出传递到 list() 构造函数中将其转换为列表。
因此,如果输入为 l1 = [1,5,6] l2 = [1,2,9],则输出将是 [(1, 1), (1, 2), (1, 9), (5, 1), (5, 2), (5, 9), (6, 1), (6, 2), (6, 9)]
为了解决这个问题,我们将遵循以下步骤 −
x := product(l1, l2) 获取笛卡尔积的迭代器
ret := list(x) 将 x 迭代器转换为列表
返回 ret
示例
让我们看看下面的实现以便更好地理解
from itertools import product def solve(l1, l2): return list(product(l1, l2)) l1 = [1,5,6] l2 = [1,2,9] print(solve(l1, l2))
输入
[1,5,6], [1,2,9]
输出
[(1, 1), (1, 2), (1, 9), (5, 1), (5, 2), (5, 9), (6, 1), (6, 2), (6, 9)]
相关文章
有用资源
python 参考教程 - 该教程包含有关 python 的更多信息:https://www.cainiaomax.com/python/

