如何使用Python在文本文件中查找最短的单词?
本文将向您展示如何使用Python从给定的文本文件中打印所有最短的单词。最短的单词是与文本文件中最短的单词(最小长度)长度相同的单词。
假设我们已经拿到了一个名为 TextFile.txt 的文本文件,其中包含一些随机文本。我们将返回给定文本文件中的所有最短的单词。
TextFile.txt
算法(步骤)
下面是执行所需任务的算法/步骤−
-
创建一个变量来存储文本文件的路径。
-
使用 open() 函数(打开一个文件并返回一个文件对象)打开只读模式的文本文件,参数为文件名和模式(这里“ r ”表示只读模式)。
-
创建一个变量,使用 read() 函数读取文本文件数据(从文件中读取指定字节数并返回它们。默认值为-1,表示整个文件),并使用 split() 函数将其拆分为给定文本文件的单词列表(将字符串拆分成列表。我们可以定义分隔符;默认分隔符为任何空格)。
-
从上述单词列表中使用 len() (返回对象中的项目数。当对象为字符串时,它返回字符串中的字符数)和 min() (返回可迭代对象中最小值)函数查找最短单词的长度。
此处的 key=len 指定了我们必须根据其长度获取单词,我们将使用min()函数获得最小长度单词,使用len()函数获得最小长度单词的长度。
- 使用 列表推导式 获取所有具有最短长度的单词,并将它们保存在另一个变量中。在此处,我们遍历文件的每个单词并检查该单词的长度是否等于最短单词的长度,使用列表推导式中的for循环。
当您想要基于现有列表的值构建新列表时,列表推导式提供了更短/简洁的语法。
-
从给定的文本文件中打印所有最短的单词。
-
使用close()函数关闭输入文件(用于关闭打开的文件)。
示例
下面的程序检查最短单词的长度,并从给定的文本文件中打印所有与最短单词长度相同的单词−
输出
运行上面的程序将生成以下输出―
在这个程序中,我们从文本文件中读取了一些随机文本。我们读取整个文件并将其分解成单词。在得到了单词之后,我们确定了最小长度单词的长度。然后,我们逐个单词地查看文件,检查相应单词的长度是否等于最小长度单词的长度。如果是这样,我们将打印那些单词并关闭打开的文件。
因此,在本文中,我们学习了如何一次读取整个文件内容,这对于在整个文档中搜索任何单词而不是逐行搜索非常有用。我们还学习了如何使用split()函数将文件内容拆分成单词并确定最短单词的长度。在确定最小长度后,我们学习了如何扫描整个文件内容以查找最小长度单词。