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

如何使用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
Bash

算法(步骤)

下面是执行所需任务的算法/步骤−

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

  • 使用 open() 函数(打开一个文件并返回一个文件对象)打开只读模式的文本文件,参数为文件名和模式(这里“ r ”表示只读模式)。

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

  • 从上述单词列表中使用 len() (返回对象中的项目数。当对象为字符串时,它返回字符串中的字符数)和 min() (返回可迭代对象中最小值)函数查找最短单词的长度。

len(min(words List, key=len))
Bash

此处的 key=len 指定了我们必须根据其长度获取单词,我们将使用min()函数获得最小长度单词,使用len()函数获得最小长度单词的长度。

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

当您想要基于现有列表的值构建新列表时,列表推导式提供了更短/简洁的语法。

  • 从给定的文本文件中打印所有最短的单词。

  • 使用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()
Bash

输出

运行上面的程序将生成以下输出―

以下是文本文件中最短的单词:
['is', 'of', 'in']
Bash

在这个程序中,我们从文本文件中读取了一些随机文本。我们读取整个文件并将其分解成单词。在得到了单词之后,我们确定了最小长度单词的长度。然后,我们逐个单词地查看文件,检查相应单词的长度是否等于最小长度单词的长度。如果是这样,我们将打印那些单词并关闭打开的文件。

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程

登录

注册