以下是两个列表示例
list = [["mo", "thu"], ["we", "fri"], ["mo", "mo"]]
list2 = [["mo", "fri", "fri"], ["we", "we"]]
所以这些列表是随机排列的。我在这里给出了两个例子。我想要做的是计算这些列表可以排列的所有可能方式。在它的列表[1] *列表[2] *列表[3]的级别上。所有可能的组合。我希望达到的一个较小的例子就是:
list3 = [["we", "thu"],["fri", "thu"]]
- >
[["we", "fri"], ["we", "thu"], ["thu", "fri"], ["thu", "thu"]]
此外,列表是随机的,因此列表或嵌套列表中的元素数量可能会有所不同。我可以通过很多代码来解决这个问题,但我希望有一个更简单的方法。
干杯
答案 0 :(得分:8)
你想要的不清楚,但也许你想要的是你的清单中的笛卡儿产品?如果是这样,那很简单:
list3 = [["we", "thu"],["fri", "thu"]]
import itertools
final_list = [list(v) for v in itertools.product(*list3)]
## [['we', 'fri'], ['we', 'thu'], ['thu', 'fri'], ['thu', 'thu']]