从文本文件中生成单词列表并按输入字母搜索这些单词

0 投票
3 回答
1902 浏览
提问于 2025-04-17 02:59

好的,我是个新手,所以任何提示我都很感激。这是我在这里的第一个问题,所以如果有什么不清楚的地方请多包涵!我在其他类型的列表和一些小技巧上找到了很多帮助,但在这个问题上找到的帮助不多。

我想从我的小文本文件中制作一个列表(这个文件里包含了宇宙中的所有单词)。首先,我希望用户输入一些字母,然后我想列出包含这些字母的单词。比如说字母是“abcdeir”,那么列表就会是“bad”、“bar”、“beard”等等。

这是我目前的进展:

file = open("allthewords.txt", "r")

3 个回答

0

如果你的文件中有一些单词在同一行的话,你可以使用正则表达式(regexp)。

import re
with open('your_file.txt','r') as f: 
    print re.findall(r"\b[abcdeir]+\b", f.read())
0

你可以简单地把它写成伪代码,然后执行它:

letters = "abcdeir" # Alternatively,  letters = raw_input('Input letters: ')
with open("allthewords.txt", "r") as file:
  for word in file:
    if all(character in letters for character in word):
      print(word)
1

我会用集合来处理这个问题:

letters = set("abcdeir")
with open("allthewords.txt", "r") as f:
  for word in f:
    if set(word) <= letters: # check that all letters of `word` are in `letters`
      print word

你可以根据需要对这个进行调整。

撰写回答