从文本文件中生成单词列表并按输入字母搜索这些单词
好的,我是个新手,所以任何提示我都很感激。这是我在这里的第一个问题,所以如果有什么不清楚的地方请多包涵!我在其他类型的列表和一些小技巧上找到了很多帮助,但在这个问题上找到的帮助不多。
我想从我的小文本文件中制作一个列表(这个文件里包含了宇宙中的所有单词)。首先,我希望用户输入一些字母,然后我想列出包含这些字母的单词。比如说字母是“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
你可以根据需要对这个进行调整。