python - 给定每个数字或索引的选择列表,是否有一个函数可以生成可能的排列?
问题描述
我正在尝试生成可能的序列,给定最终列表的每个索引的选择列表。
示例:在下面的字典中,我有 5 个单词和每个单词可能的不同值。我想生成所有可能的排列或序列。
{'John': ['NNP'], 'went': ['VBD'], 'to': ['TO'], 'work': ['VBP', 'NN', 'VB'], '.': ['.']}
在此示例中,将有 1 * 1 * 1 * 3 * 1 = 3 个序列。
解决方案
你想要的itertools.product
功能:
from itertools import product
arrs = [[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)
推荐阅读
- mysql - 值不保存到 mysql 数据库中
- typescript - 调用在打字稿中引用私有函数的公共函数时出现问题
- c - 如何使用 Paho 异步发布示例(MQTT C 客户端库)
- javascript - 在 Object ReactJS 中指定 id
- javascript - 正则表达式,JS:将文本匹配到特定单词之后的行尾,而不包括匹配中的单词
- matlab - 如何在 Parform matlab 中使用计数器
- arrays - 无法在 SerialPort 传输的接收端读取二进制数据作为字符串
- kotlin - 使 TornadoFX 窗口始终位于顶部
- javascript - Angular 8:使用同一服务的多个实例
- swift - Vapor 3 PostgreSQL CRUD 没有请求 http