Python 在字符串中查找单词长度

Python 在字符串中查找单词长度

在Python中查找给定输入字符串中各个单词长度的问题需要解决。我们想要统计文本输入中每个单词的字符数,并以结构化的方式显示结果,比如列表。这个任务涉及将输入字符串拆分并分隔每个单词。然后基于每个单词中的字符数计算每个单词的长度。基本目标是创建一个可以接收输入、确定单词长度并迅速输出结果的函数或过程。在包括文本处理、自然语言处理和数据分析在内的多个应用中,单词长度统计可以提供有见地的信息,并促使进行额外的分析,解决这个问题是至关重要的。

使用的方法

  • 使用循环和split()函数

  • 使用map()函数与len和split()

  • 使用re模块的re.split()方法

  • 使用字典存储单词长度

使用循环和split()函数

使用循环和split()函数是一种基本而简单的Python文本处理和分析技术,用于通过循环和split()函数获取单词长度。通过使用这种技术将输入字符串拆分为其组成的单词,我们可以通过反复查看单词列表来确定每个单词的长度。在这种方法中,split()函数至关重要,因为它基本上是基于空格字符对输入文本进行标记,将单词与单词分开。生成的单词列表作为我们的单词长度计算的基础。由于其在理解和从文本输入中提取重要信息方面的有效性和简易性,这种技术是任何文本分析工具集的关键部分。

步骤

  • 定义一个名为findWordLengths的函数,该函数接受一个输入字符串作为参数。

  • 使用split()函数将输入字符串按空格分割成单词,从而将它们分隔开。将结果存储在名为words的列表中。

  • 初始化一个名为’wordLengths’的空列表,用于存储单词的长度。

  • 对于单词列表中的每个单词,执行以下操作:

a. 使用len()函数计算当前单词的长度。

b. 将当前单词的长度附加到’wordLengths’列表中。

  • 返回’wordLengths’列表。

示例

def findWordLengths(input_string):
   words = input_string.split()
   wordLengths = []
   for word in words:
      wordLengths.append(len(word))
   return wordLengths


input_string = "Today feels like a productive day"
result = findWordLengths(input_string)
print("The words lengths are as:", result)

输出

The words lengths are as: [5, 5, 4, 1, 10, 3]

使用len和split函数的map()函数

Python中使用map()函数结合len和split()来确定单词长度的方法,为处理文本数据的问题提供了一种优雅且有效的解决方案。这种方法利用了Python内置函数的强大特性,将它们结合起来快速确定输入字符串中每个单词的长度。split()方法将输入字符串使用空格作为分隔符有效地分割成单个单词,这是这种策略的基础。结果创建一个术语列表,作为进一步调查的基础。通过利用map()方法,我们将这个列表转换为一个可迭代对象,通过将len()函数应用于每个单词来包含所有单词的长度。

步骤

  • 定义一个名为findWordLengths的函数,它以一个输入字符串作为参数。该参数将包含我们的输入字符串。

  • 使用split()函数将输入字符串按照空格分隔成单独的单词,并将结果存储在一个名为words的列表中。

  • 使用map()函数将len()函数应用于words列表中的每个单词,len()函数基本上计算长度。这将产生一个包含单个单词长度的可迭代对象。

  • 将从map()获得的可迭代对象转换为列表,以获取单个单词的长度。

  • 返回单词长度列表。

示例

def findWordLengths(input_string):
   words = input_string.split()
   wordLengths = list(map(len, words))
   return wordLengths


input_string = "Hello my name is Rahul"
result = findWordLengths(input_string)
print("The words lengths are as:", result)

输出

The words lengths are as: [5, 2, 4, 2, 5]

使用re模块的re.split()方法

正则表达式是一种有效的文本修改和模式匹配工具。通过智能地将空白字符识别为单词分隔符,re.split()函数在这种情况下可作为可靠的技术来将短语分词成单词。为了准确地划分单词,正则表达式模式r’\s+’匹配一个或多个连续的空白字符。该方法在处理各种输入文本格式时表现出色,允许不同的空白字符模式,并提供准确的单词长度计算。它的使用正则表达式使得即使在处理大量输入数据时也非常高效。此外,由于没有其他库,实现也更简单。

步骤

  • 输入包含单词的句子。

  • 使用re.split()方法与正则表达式r’\s+’将句子拆分成单词。

  • 初始化一个空列表来存储单词长度。

  • 遍历单词列表中的每个单词:

  • a. 计算当前单词的长度。

  • b. 将单词长度添加到单词长度列表。

  • 输出单词长度列表。

示例

import re

def word_lengths(sentence):

   words = re.split(r'\s+', sentence)

   word_lengths = []

   for word in words:
      length = len(word)
      word_lengths.append(length)

   return word_lengths

sentence = "This is a sample sentence"
result = word_lengths(sentence)
print(result)

输出

[4, 2, 1, 6, 8]

使用字典存储单词长度

使用字典来确定字符串中单词长度的方法,结合了Python内置数据结构的效力和简单的算法,提供了一种强大且可适应的结果。该技术通过迭代使用len()函数来计算每个单词的长度,为字典中的每个单词生成键值对。单词的长度作为匹配的值,单词本身作为键。通过这一清晰简单的过程,单词长度的收集是精确而有效的。

生成的字典提供了与每个单词对应的单词长度,捕获了文本的广泛视图。对于进一步的数据处理或分析,此格式使得检索单词长度变得简单。

步骤

  • 输入包含单词的句子。

  • 使用split()方法将句子拆分为单词,这将为我们的输入字符串创建一个单词列表。

  • 初始化一个空字典来存储单词长度。

  • 遍历单词列表中的每个单词,具体如下:

  • a. 计算当前单词的长度。

  • b. 在字典中添加一个条目,其中将单词作为键,将其长度作为值。

  • 输出包含单词长度的字典。

示例

def word_lengths(sentence):

   words = sentence.split()
   word_lengths_dict = {}

   for word in words:
      length = len(word)
      word_lengths_dict[word] = length

   return word_lengths_dict

sentence = "This is how the length of words is calculated"
result = word_lengths(sentence)
print(result)

输出

{'This': 4, 'is': 2, 'how': 3, 'the': 3, 'length': 6, 'of': 2, 'words': 5, 'is': 2, 'calculated': 10}

结论

因此,总结起来,我们研究了四种不同的Python方法来计算字符串中的单词长度。对于简单的任务,前两种方法 – 使用循环和split()函数或使用map()函数与len和split() – 提供了简单和有效的方法。第三种选择是使用re模块中的re.split()方法,展示了正则表达式的强大能力,并适用于复杂的文本处理应用程序。最后但并非最不重要的,使用字典来跟踪单词长度提供了一种系统性和实用性的方法来检索和处理单词数据。每种方法都提供了特定的优势,使程序员可以根据特定的需求和编码偏好选择最佳选项。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程