一尘不染

Python-获取一系列列表的笛卡尔积?

笛卡尔积 python

如何从一组列表中获得笛卡尔积(值的所有可能组合)?

输入:

somelists = [
   [1, 2, 3],
   ['a', 'b'],
   [4, 5]
]

所需的输出:

[(1, 'a', 4), (1, 'a', 5), (1, 'b', 4), (1, 'b', 5), (2, 'a', 4), (2, 'a', 5) ...]

阅读 1109

收藏
2020-02-04

共1个答案

一尘不染

在Python 2.6+中

import itertools
for element in itertools.product(*somelists):
    print(element)
2020-02-04