如何使用 Python 查找文本文件中的最短单词?
在本文中,我们将向您展示如何使用 Python 从给定的文本文件中打印所有最短单词。最短单词是与文本文件中的最短单词(最小长度)长度相同的单词。
假设我们获取了一个名为 TextFile.txt 的文本文件,其中包含一些随机文本。我们将从给定的文本文件中返回所有最短的单词。
TextFile.txt
Good Morning Tutorials Point This is the Tutorials Point sample File Consisting of Specific abbreviated source codes in Python Seaborn Scala Imagination Summary and Explanation Welcome user Learn with joy
算法(步骤)
以下是执行所需任务要遵循的算法/步骤 -
创建一个变量来存储文本文件的路径。
使用 open() 函数(打开文件并返回文件对象作为结果)通过传递文件名和模式作为参数以只读模式打开文本文件(此处"r"代表只读模式)。
with open(inputFile, 'r') as filedata:
使用 read() 函数创建一个变量来读取文本文件数据(从文件中读取指定数量的字节并返回它们。默认值为 -1,表示整个文件),并使用 split() 函数(将字符串拆分为列表。我们可以定义分隔符;默认分隔符是任何空格)将其拆分为给定文本文件的单词列表。
使用 len()(len() 方法返回对象中的项目数。当对象是字符串时,它返回字符串中的字符数)和 min()(返回可迭代对象中值最低的项目)函数从上述单词列表中查找最短单词的长度。
len(min(words List, key=len))
使用列表推导获取所有长度最短的单词,并将它们保存在另一个变量中。这里我们遍历文件中的每个单词,并使用列表推导中的 for 循环检查该单词的长度是否等于最短单词的长度。
key=len 指定我们必须根据其长度获取单词,我们将使用 min() 函数获取最小长度单词,使用 len() 函数获取最小长度单词。
列表推导:
打印给定文本文件中的所有最短单词。
使用 close() 函数关闭输入文件(用于关闭打开的文件)。
当您希望根据现有列表的值构建新列表时,列表推导提供了更短/简洁的语法。
示例
以下程序检查最短单词的长度,并打印给定文本文件中所有与最短单词长度相同的单词 -
# 输入文本文件 inputFile = "ExampleTextFile.txt" # 以只读模式打开给定文件。 with open(inputFile, 'r') as filedata: # 从文件中获取单词列表 wordsList = filedata.read().split() # 查找上述单词列表中最短单词的长度 shortestWordLength = len(min(wordsList, key=len)) # 存储所有具有最小长度(最短单词长度)的单词 result = [textword for textword in wordsList if len(textword) == shortestWordLength] # 打印文本文件中的最短单词 print("以下是文本文件中最短的单词:") print(result) # 关闭输入文件 filedata.close()
输出
执行时,上述程序将生成以下输出 -
以下是文本文件中最短的单词: ['is', 'of', 'in']
我们在这个程序中从一个文本文件中读取一些随机文本。我们读取整个文件并将其分解成单词。在获得单词后,我们确定了最小长度单词的长度。然后我们逐个单词地浏览文件,检查相应单词的长度是否等于最小长度单词的长度。如果是真的,我们将打印这些单词并关闭打开的文件。
所以,从这篇文章中,我们学习了如何一次读取整个文件内容,这对于搜索整个文档中的任何单词而不是逐行搜索很有用。我们还学习了如何使用 split() 函数将文件内容拆分为单词并确定最短单词的长度。确定了最小长度之后,我们就学习了如何扫描整个文件内容来寻找最小长度的单词。