首页 > 后端开发 > Python教程 > 使用Python计算字符串中单词的长度

使用Python计算字符串中单词的长度

PHPz
发布: 2023-09-13 11:29:03
转载
1248 人浏览过

使用Python计算字符串中单词的长度

使用 Python 查找给定输入字符串中各个单词的长度是必须解决的问题。我们想要计算文本输入中每个单词的字符数,并以结构化样式(如列表)显示结果。该任务需要分解输入字符串并分隔每个单词。然后根据其中的字符数计算每个单词的长度。基本目标是创建一个可以有效接收输入、确定字长并及时输出结果的函数或过程。在文本处理、自然语言处理和数据分析等多种应用中,字长统计可以提供有洞察力的信息并实现额外的分析,解决这个问题至关重要。

使用的方法

  • 使用循环和 split() 函数

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

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

  • 使用字典存储单词长度

使用循环和 split() 函数

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

算法

  • 定义一个函数 findWordLengths,它将输入字符串作为参数。

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

  • 初始化一个空列表“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]
登录后复制

将map()函数与len和split()一起使用

Python 中确定字长的方法将 map() 函数与 len 和 split() 相结合,为处理文本数据的问题提供了优雅而有效的答案。这种方法利用了 Python 内置函数的强大功能,将它们组合起来可以快速确定输入字符串中各个单词的长度。 split() 方法使用空格作为分隔符,有效地将输入字符串分成单独的单词,是该策略的基础。结果创建了一个术语列表,作为更多调查的基础。利用 map() 方法,我们通过对每个单词应用 len() 函数,将此列表更改为包含所有单词长度的可迭代列表。

算法

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

  • 使用 split() 函数将输入字符串拆分为单个单词,并使用空格作为分隔符。将结果存储在称为单词的列表中。

  • 使用map()函数将len()函数应用于单词列表中的每个单词,因为len()函数主要计算长度。这将产生一个包含单个单词长度的迭代。

  • 将从map()获得的iterable转换为列表以获取单个单词的长度。

  • 返回单词长度列表。

示例

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() 函数或带有 len 和 split() 的 map() 函数)提供了简单性和有效性。第三个选项利用 re 模块中的 re.split() 方法,展示了正则表达式的强大功能,适合在复杂的文本处理应用程序中使用。最后但并非最不重要的一点是,使用字典来跟踪单词长度提供了一种系统且实用的方法来检索和处理单词数据。每种方法都具有特定的优点,使程序员能够根据特定需求和编码偏好选择最佳选项。

以上是使用Python计算字符串中单词的长度的详细内容。更多信息请关注PHP中文网其他相关文章!

相关标签:
来源:tutorialspoint.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板