python中集合列表的笛卡尔乘积

python中集合列表的笛卡尔乘积,python,itertools,Python,Itertools,我有一张布景单。我事先不知道名单的长度。我想在我正在编写的代码中找到列表中集合的笛卡尔积 例如: 我有 我想输出这些集合的笛卡尔积,它是 ('A', 'A', 'E') ('A', 'A', 'D') ('A', 'C', 'E') ('A', 'C', 'D') ('A', 'B', 'E') ('A', 'B', 'D') 如果我事先知道列表的大小为3,我可以使用下面的代码生成这个笛卡尔积 for i in itertools.product(list_of_sets[0],list_of

我有一张布景单。我事先不知道名单的长度。我想在我正在编写的代码中找到列表中集合的笛卡尔积

例如: 我有

我想输出这些集合的笛卡尔积,它是

('A', 'A', 'E')
('A', 'A', 'D')
('A', 'C', 'E')
('A', 'C', 'D')
('A', 'B', 'E')
('A', 'B', 'D')
如果我事先知道列表的大小为3,我可以使用下面的代码生成这个笛卡尔积

for i in itertools.product(list_of_sets[0],list_of_sets[1],list_of_sets[2]):
    print i

当我不知道列表的大小时,有没有一种简单的方法可以做到这一点?

使用
itertools.product(*列表集合)

for i in itertools.product(list_of_sets[0],list_of_sets[1],list_of_sets[2]):
    print i