如何编写Python脚本从单词列表生成所有5词段落的全组合
Python 生成5词段落脚本实现
下面直接给出两种常见需求的可运行代码:
场景1:允许同一个单词在单段内重复出现
适合无单词复用限制的需求,生成所有可重复的5词排列:
import itertools # 输入的单词列表 word_list = ["Ford", "Volvo", "BMW", "word1", "word2", "word4", "word7", "word9", "word5", "word100", "wordaaaaa", "words"] # 生成长度为5的可重复排列 for paragraph in itertools.product(word_list, repeat=5): # 拼接成空格分隔的字符串输出 print(" ".join(paragraph))
场景2:同一个单词在单段内仅可出现一次
适合要求段落内单词不重复的需求:
import itertools # 输入的单词列表 word_list = ["Ford", "Volvo", "BMW", "word1", "word2", "word4", "word7", "word9", "word5", "word100", "wordaaaaa", "words"] # 生成长度为5的无重复排列 for paragraph in itertools.permutations(word_list, r=5): print(" ".join(paragraph))
注意事项
- 如果单词列表长度较大,生成的组合数会指数级增长,建议直接迭代输出,不要把所有结果先存入列表避免内存溢出
- 若需要将结果写入文件,可替换
print语句为文件写入操作即可
内容的提问来源于stack exchange,提问作者hashem baddad
相关产品推荐
相关产品推荐

