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

步骤

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

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

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

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

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

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

key=len 指定我们必须根据单词的长度来获取单词,并且我们将使用min()函数获取最小长度的单词,使用len()函数获取最小长度单词的长度。

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

当您希望基于现有列表的值构建新列表时,列表生成式提供了更短/简洁的语法。

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

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

示例

以下程序检查最短单词的长度,并打印出所有与最短单词具有相同长度的单词,从给定的文本文件中−

# input text file
inputFile = "ExampleTextFile.txt"

# Opening the given file in read-only mode. 
with open(inputFile, 'r') as filedata:

   # Getting the list of words from a file 
   wordsList = filedata.read().split()

# finding the length of the shortest word in the above words list 
shortestWordLength = len(min(wordsList, key=len))

# Storing all the words having the minimum length(shortest word length)
result = [textword for textword in wordsList if len(textword) == shortestWordLength]

# Print the shortest words from a text file
print("The following are the shortest words from a text file:") 
print(result)

# Closing the input file
filedata.close()

输出

执行上述程序后,将生成以下输出:

The following are the shortest words from a text file:
['is', 'of', 'in']

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

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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程