我有可能的单词列表来制作给定单词的字谜。列表的每一串都是字典的键,具有一个或多个单词的值。这是按照字典中相应键的每个列表中的单词的键顺序制作所有可能句子的最佳(最快,pythonic)方法。 列表中有可变数量的键。
keylist = ['key1', 'key2', 'key3']
worddict = {'key1': ['a','b','c'], 'key2':['d','e','f'], 'key3':['g','h','i']}
预期结果(第一个键列表中的第一个词,第二个键列表中的第二个词,依此类推):
["a d g",
"a d h",
"a d i",
.....
"c f i"]
请您参考如下方法:
在 itertools 中使用 product 函数生成所有可迭代对象组合的模块
import itertools
for sentence in itertools.product(['a','b','c'], ['d','e','f'], ['g','h','i']):
print sentence
输出将是元组,但如果需要,这些可以很容易地转换为字符串或列表。
