<p><em>我需要把这个文本文件转换成字典,比如:myDict={'a':'所有单词都以a开头','b':所有单词都以b开头,等等}</em></p>
<p>我从这个函数开始:</p>
<pre><code>def make_dict():
d = {}
with open("a7.txt","r") as wordfile:
for word in wordfile:
word = word.strip().lower()
first = word[0]
if first not in d: d[first] = []
d[first].append(word)
return d
myDict = make_dict()
</code></pre>
<p><em>然后我使用wordFind=(“enterword:”),当我输入一个与myDict中的键值相交的wordFind时,结果将给出该交集中的所有值。</em></p>
<p>如果您只需要一个与输入的单词以相同字母开头的单词列表,则类似于:</p>
^{pr2}$
<p>应该行得通。在</p>
<p>如果您想要更广泛的匹配,例如匹配的单词需要以您输入的同一组字符开头,则如下所示:</p>
<pre><code>wordFind = raw_input("Enter word: ") # raw_input for Python2, input for Python3
wordFind = wordFind.lower()
find_first = wordFind[0]
matches = [w for w myDict[find_first] if w.startswith(wordFind)] # This is different
print(matches)
</code></pre>
<p>应该行得通。在</p>
<p><strong>编辑:</strong>每个评论:</p>
<p>对于输入“abc”,如果您想要一个以“a”、“b”或“c”开头的单词的列表,则可以使用以下类似的方法:</p>
<pre><code>wordFind = raw_input("Enter word: ") # raw_input for Python2, input for Python3
wordFind = wordFind.lower()
matches = []
for c in wordFind: matches.extend(myDict[c])
print(matches)
</code></pre>
<p>如果您想单独使用它们,而不是在一个列表中,可以执行以下操作:</p>
<pre><code>wordFind = raw_input("Enter word: ") # raw_input for Python2, input for Python3
wordFind = wordFind.lower()
matches = {}
for c in wordFind: matches[c] = myDict[c]
print(matches)
</code></pre>