如何使用Python在文本文件中查找最长的单词?

您所在的位置:网站首页 python输出最长字符串的单词 如何使用Python在文本文件中查找最长的单词?

如何使用Python在文本文件中查找最长的单词?

2024-07-02 12:25| 来源: 网络整理| 查看: 265

如何使用Python在文本文件中查找最长的单词?

在本文中,我们将展示如何使用Python从给定的文本文件中打印所有最长的单词。最长的单词指的是文本文件中与最长单词(最大长度)长度相同的单词。

假设我们有一个名为 ExampleTextFile.txt 的文本文件,其中包含一些随机文本。我们将返回给定文本文件中所有最长的单词。

ExampleTextFile.txt

Good Morning Tutorials Point This is Tutorials Point sample File Consisting of Specific abbreviated source codes in Python Seaborn Scala Imagination Summary and Explanation Welcome user Learn with a joy 算法(步骤)

以下是执行所需任务的算法/步骤。

创建一个变量来存储文本文件的路径。

使用 open() 函数(打开文件并返回文件对象作为结果)以只读模式打开文本文件,将文件名和模式作为参数传递给它(这里“r”表示只读模式)。

with open(inputFile, 'r') as filedata:

使用 read() 函数(从文件中读取指定数量的字节并返回它们。默认值为-1,表示整个文件),将创建一个变量来读取文本文件数据,并使用 split() 函数将其拆分为给定文本文件的单词列表(将字符串拆分为列表。我们可以定义分隔符;默认分隔符是任何空格)。

使用上述单词列表中的 len() 函数(返回对象中的项目数。当对象是字符串时,它返回字符串中的字符数)和 max() 函数(返回最高值项或可迭代对象中的最高值项)查找最长单词的长度。

len(max(words List, key=len))

key = len 指定我们必须根据其长度获取该单词,我们将使用max()函数和最长单词的长度使用len()函数获取最长单词。

使用 列表推导式 ,获取所有长度最长的单词并将它们保存在另一个变量中。在这里,我们正在遍历每个单词文件,并使用列表推导式中的for循环检查该单词的长度是否等于最长单词的长度。

列表推导:

使用现有列表的值构建新列表时,列表推导式提供了较短/简洁的语法。

从给定的文本文件打印所有最长的单词。

使用 close() 函数关闭输入文件(用于关闭已打开的文件)。

示例

以下程序检查最长单词的长度并打印所有长度与最长单词相同的单词来自给定的文本文件。

# 输入文本文件 inputFile = "ExampleTextFile.txt" # 以只读模式打开给定文件 with open(inputFile, 'r') as filedata: # 获取文件的单词列表 wordsList = filedata.read().split() # 找到以上单词列表中最长单词的长度 longestWordLength = len(max(wordsList, key=len)) # 存储所有长度为最大长度(最长单词长度)的单词 # 在这里,我们检查所有长度等于最长单词的单词 result = [textword for textword in wordsList if len(textword) == longestWordLength] # 从文本文件中打印最长的单词 print("以下是文本文件中最长的单词:") print(result) # 关闭输入文件 filedata.close() 输出结果

执行上述程序后,会生成以下输出结果―

以下是文本文件中最长的单词: ['abbreviated', 'Imagination', 'Explanation']

在此程序中,我们从文本文件读取了一些随机文本。 我们读取整个文件并将其拆分为单词。 在获取单词后,我们确定了最长单词的长度。 然后,我们逐个单词检查文件,检查相应单词的长度是否等于最短单词的长度。如果是真的,我们将打印这些单词并关闭打开的文件。

结论

因此,从本篇文章中,我们学习了如何一次读取整个文件内容,这对于在整个文档中搜索任何单词而不是逐行搜索非常有用。 我们还学习了如何使用split()函数将文件内容拆分为单词,并确定最短单词的长度。 在确定最大长度后,我们学习了如何扫描整个文件内容以查找最长单词。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3