python生成26个字母的列表

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python生成26个字母的列表相关的知识,希望对你有一定的参考价值。

参考技术A import string
list(string.ascii_uppercase) #26个大写字母列表
list(string.ascii_lowercase) #26个小写字母列表
list(string.ascii_letters) #26个小写字母和26个大写字母列表

Python - 将字符列表与单词列表进行比较?

【中文标题】Python - 将字符列表与单词列表进行比较?【英文标题】:Python - Comparing a list of characters to a list of words? 【发布时间】:2012-11-07 13:21:10 【问题描述】:

我已经构建了一个程序,它随机生成 8 个单独的字母并将它们分配到一个名为ranlet(随机字母的缩写)的列表中。然后它将一个 .txt 文件导入一个名为 wordslist 的列表中。随机生成字母和加载文件都可以正常工作,因为我已经单独测试了这些部分,但后来遇到了障碍。

然后程序必须将ranlet 列表与wordslist 列表进行比较,将匹配的单词附加到名为hits 的列表中,并在hits 列表中显示单词

我试过了:

for each in wordslist:
    if ranlet==char in wordslist:
        hits.append(wordslist)
    else:
        print "No hits."

print hits

很遗憾,这不起作用。我对此有更多的变化,但都无济于事。我非常感谢您对此事的任何帮助。

【问题讨论】:

显示示例数据、输入和输出。 听起来像是拼字游戏、与朋友交流或其他类型代码。也许你应该搜索 python scrabble 实现,看看那里做了什么。 您需要澄清一些事情:当您说“匹配词”时,您的意思是 1) 至少有一个来自ranlet 的字母的词? 2)来自ranlet的所有8个字母的单词? 3) 包含来自ranlet 的所有 8 个字母的单词,顺序是? 4) 只有来自ranlet 的字母而没有其他字母的单词? 5)关于什么算作“匹配”的其他一些规则? 【参考方案1】:

我认为您可以从这里的set.intersection 中受益:

set_ranlet = set(ranlet)
for word in word_list:
    intersection = set_ranlet.intersection(word)
    if intersection:
        print "word contains at least 1 character in ran_let",intersection

    #The following is the same as `all( x in set_ranlet for x in word)`
    #it is also the same as `len(intersection) == len(set_ranlet)` which might
    # be faster, but less explicit.
    if intersection == set_ranlet: 
        print "word contains all characters in ran_let"

【讨论】:

让我知道如何改进这一点,我很高兴更新:)【参考方案2】:

如果您是 Python 的新手,这可能是一个“易于理解”的答案:

hits = []
for word in wordslist:
    if word in ranlet and word not in hits:
        hits.append(word)
print hits

【讨论】:

以上是关于python生成26个字母的列表的主要内容,如果未能解决你的问题,请参考以下文章

#在26个大小写字母(52个),以及9个数字组成的字符列表中,随机生成10个8位密码

在26个大小写字母(52个),以及9个数字组成的字符列表中, 随机生成10个8位密码.

列表解析式习题和获取26个字母方法

Python - 将字符列表与单词列表进行比较?

[python]快速生成数字,字母列表

[python]快速生成数字,字母列表