【发布时间】:2021-02-10 06:12:06
【问题描述】:
我想创建一个函数,它接收一个包含一堆单词的列表,然后我会给出半个单词,它会给我整个单词。
基本上,如果输入是“ca”,那么输出将是“car”或“win”给出“window”等等。我的想法是遍历我输入的单词中的每个字母并检查它是否匹配。
在下面的代码中,我尝试做的是首先遍历单词和单词中的每个字母,然后遍历列表,然后我尝试
匹配两个字母。如果匹配,它将打印该单词。但我收到错误消息string index out of range。
我觉得只匹配两个字母根本不是最佳选择,如果列表更长,比如字典,可能会导致问题。
list_words = ["car","telephone","watch","window","laptop","lamp"]
word = "ca"
def autocomplete():
for letter in word:
i = 0
while i < len(list_words):
if letter[0] == list_words[i][0] and letter[1] == list_words[i][1]:
return list_word[i]
i += 1
print(autocomplete())
【问题讨论】:
-
如果你使用
startswith(),你真的可以简化这个。 -
哇,我什至不知道有这个,非常感谢,我会试试看。
标签: python