使用列表理解读取 python 中的 txt 文件
Reading txt file in python using list comprehension
如何在 python 中 return 一个与搜索到的词长度相同的词。例如,我正在 ["three"、"tea"、"tree"] 列表中寻找单词 "three" 的最接近匹配,我想 return第一次出现相同长度的单词。
我需要使用生成器或一些列表理解来完成它,因为我有一组非常大的数据。到目前为止我有这个功能:
matches_list= dl.get_close_matches(word.lower(),list_of_words)
if matches_list:
new_word= (w for w in matches_list if (len(word)==len(w)))
print new_word.next()
在第 4 次或第 5 次迭代之前打印正常,我收到此消息错误:
print new_word.next()
StopIteration
使用 next()
function 并提供默认值:
new_word = (w for w in matches_list if len(word) == len(w))
print next(new_word, 'nothing found')
引发了 StopIteration
异常,因为您的生成器在没有(进一步)匹配的情况下到达末尾。如果您为 next()
函数提供第二个参数,那么它将捕获该异常并 return 第二个参数作为默认值。
如何在 python 中 return 一个与搜索到的词长度相同的词。例如,我正在 ["three"、"tea"、"tree"] 列表中寻找单词 "three" 的最接近匹配,我想 return第一次出现相同长度的单词。
我需要使用生成器或一些列表理解来完成它,因为我有一组非常大的数据。到目前为止我有这个功能:
matches_list= dl.get_close_matches(word.lower(),list_of_words)
if matches_list:
new_word= (w for w in matches_list if (len(word)==len(w)))
print new_word.next()
在第 4 次或第 5 次迭代之前打印正常,我收到此消息错误:
print new_word.next()
StopIteration
使用 next()
function 并提供默认值:
new_word = (w for w in matches_list if len(word) == len(w))
print next(new_word, 'nothing found')
引发了 StopIteration
异常,因为您的生成器在没有(进一步)匹配的情况下到达末尾。如果您为 next()
函数提供第二个参数,那么它将捕获该异常并 return 第二个参数作为默认值。