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