如何从a到z生成单词

时间:2012-10-12 10:55:46

标签: python python-3.x

是否可以创建一个从a到z生成单词的方法?因为我只知道随机生成单词但我想要的是使用python代码存在的单词

这是随机生成的单词代码:

import random
wordLen = random.randint(1, 5)
def get_random_word(wordLen):
    word = ''

    for i in range(wordLen):
        word += random.choice('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz')
    print(word)
    return word
get_random_word(wordLen)

还是有可能,如果我有一个字母列表,如例如list = ['a','t','n','s','d','e','x'],那么我想从这个列表中生成真正的单词?

2 个答案:

答案 0 :(得分:2)

你的意思是什么?的(未测试的)

from collections import defaultdict
from string import ascii_lowercase
from random import choice

words = defaultdict(list)
with open('/usr/share/dict/words') as fin:
    for word in fin:
        if len(word) == 5: 
            words.append(word)

for letter in ascii_lowercase:
    print letter, 'is for', choice(words[letter])

如果您不在具有/usr/share/dict/words的系统上(或者您想要更全面的列表),那么http://www.findthatzip.com/search-10655738-hZIP/winrar-winzip-download-ukacd16.zip.htm也是合理的。

答案 1 :(得分:0)

你可能需要一个单词列表可供选择...从前我需要一个,我搜索了一些像英语词典txt ...找到一些并保持对我来说最好的

然后显然你弄清楚你将如何管理你的列表......不经常使用只是读取磁盘,也许存储文件开头的行数,这样你就可以选择一个数字并只读入只要你需要......或者将它们存储在内存中以便频繁使用,可能是一个数组