首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python -将字符列表与单词列表进行比较?

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

Stack Overflow用户
提问于 2012-11-19 23:27:21
回答 2查看 3.5K关注 0票数 4

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

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

我试过这个:

代码语言:javascript
运行
复制
for each in wordslist:
    if ranlet==char in wordslist:
        hits.append(wordslist)
    else:
        print "No hits."

print hits

可悲的是,这并没有起作用。我在这方面有更多的变体,但都无济于事。我真的很感激在这件事上的任何帮助。

EN

回答 2

Stack Overflow用户

发布于 2012-11-19 23:32:15

我认为你可以在这里从set.intersection中受益:

代码语言:javascript
运行
复制
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"
票数 3
EN

Stack Overflow用户

发布于 2012-11-19 23:32:30

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

代码语言:javascript
运行
复制
hits = []
for word in wordslist:
    if word in ranlet and word not in hits:
        hits.append(word)
print hits
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13456875

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档