是否有一个函数可以在给定每个数字或索引的选择列表的情况下生成可能的排列?

我正在尝试生成可能的序列,给定最终列表中每个索引的选择列表。

示例:在下面的字典中,我有 5 个单词,每个单词可能有不同的值。我想生成所有可能的排列或序列。

{'John': ['NNP'], 'went': ['VBD'], 'to': ['TO'], 'work': ['VBP', 'NN', 'VB'], '.': ['.']}

在此示例中,将有 1 * 1 * 1 * 3 * 1 = 3 个序列。



绝地无双
浏览 97回答 1
1回答

海绵宝宝撒

你想要的itertools.product功能:from itertools import productarrs = [[1,2],[1],[1,2,3],[4]]for combo in product(*arrs):  print(combo)输出:(1, 1, 1, 4)(1, 1, 2, 4)(1, 1, 3, 4)(2, 1, 1, 4)(2, 1, 2, 4)(2, 1, 3, 4)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python