Python程序计算包含指定字母的单词数量

Python程序计算包含指定字母的单词数量

在本文中,我们将学习如何在Python中计算字符串中包含指定字母的单词数量。

使用的方法

下面是实现此任务的各种方法-

  • 使用列表推导、len()和split()函数

  • 使用split()和find()函数

  • 使用split()、replace()和len()函数

  • 使用Counter()函数

示例

假设我们输入一个字符串和一个随机字符,我们将计算字符串中包含给定输入字符的单词数量。

输入

inputString = 'hello tutorialspoint python codes'
inputChar = "p"

输出

单词数量,包含字符'p':2

在上面的字符串中,包含输入字符’ p ‘的单词是 tutorialspointpython 。因此输出是2。

方法1:使用列表推导、len()和split()函数

列表推导

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

len() 返回对象中项的数量。当对象是字符串时,len()函数返回字符串中的字符数。

split() 将字符串拆分为列表。我们可以定义分隔符,其默认分隔符是任何空白字符。

算法(步骤)

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

  • 创建一个变量以存储输入字符串。

  • 打印输入字符串。

  • 创建另一个变量以存储输入字符。

  • 使用split()函数将输入字符串拆分为一个单词列表,并在该列表中遍历,然后检查当前列表元素中是否存在输入字符。

  • 打印包含给定输入字符的单词数量。

示例

下面的程序使用列表推导、len()和split()函数返回输入字符串中包含指定输入字符的单词数量-

# 输入字符串
inputString = 'hello tutorialspoint python codes'

# 打印输入字符串
print("Input String:", inputString)

# 输入字符
inputChar = "p"

# 将输入字符串拆分为单词列表并在列表中遍历
# 然后检查当前列表元素是否包含输入字符
wordsCount = len([element for element in inputString.split() if inputChar in element])

# 打印包含输入字符的单词数量
print("The Count of words containing the char 'p' is:", wordsCount)

输出

执行上述程序将生成以下输出-

Input String: hello tutorialspoint python codes
The count of words containing the char 'p' is: 2

方法2:使用split()和find()函数

find()方法 查找给定值的第一次出现。如果未找到该值,则此方法返回-1。

语法

string.find(value, start, end)

示例

下面的程序使用split()和find()函数返回输入字符串中包含指定输入字符的单词数量-

# 输入字符串
inputString = 'hello tutorialspoint python codes'

# 打印输入的字符串
print("输入字符串:", inputString)

# 输入字符
inputChar = "p"

# 存储包含输入字符的单词计数
wordsCount=0

# 将输入字符串分割成单词列表
wordsList= inputString.split()

# 遍历单词列表
for element in wordsList:

   # 检查当前列表元素中是否存在输入字符
   if(element.find(inputChar)!=-1):

      # 如果条件成立,单词计数值加1
      wordsCount+=1
print("包含字符 'p' 的单词计数为:", wordsCount)

输出

执行上面的程序会生成以下输出 –

输入字符串: hello tutorialspoint python codes
包含字符 'p' 的单词计数为: 2

方法三: 使用split(),replace()和len()功能

replace()函数 − 返回一个字符串副本,将旧子字符串的所有出现替换为另一个新子字符串。

语法

string.replace(old, new, count)

示例

以下程序使用split(),replace()和len()函数来返回一个包含给定输入字符的单词计数 –

# 输入字符串
inputString = 'hello tutorialspoint python codes'

# 打印输入的字符串
print("输入字符串:", inputString)

# 输入字符
inputChar = "p"

# 存储包含输入字符的单词计数
wordsCount=0

# 将输入字符串分割成单词列表
wordsList= inputString.split()

# 遍历单词列表
for element in wordsList:

   # 将给定输入字符替换为空格并将其存储在字符串中
   p = element.replace(inputChar, "")

   # 如果上面字符串的长度小于当前元素的长度,则单词计数加1
   if(len(p) < len(element)):
      wordsCount += 1
print("包含字符 'p' 的单词计数为:", wordsCount)

输出

输入字符串: hello tutorialspoint python codes
包含字符 'p' 的单词计数为: 2

方法四: 使用Counter()函数

Counter()函数 − 一个计数可哈希对象的子类。调用时,它会隐式地创建一个可迭代对象的哈希表。

在这种方法中,Counter()函数返回输入字符串中每个单词的字符的频率。

示例

以下程序使用Counter()函数来返回一个包含给定输入字符的单词计数 –

# 从collections模块导入Counter函数
from collections import Counter

# 输入字符串
inputString = 'hello tutorialspoint python codes'

# 打印输入的字符串
print("输入字符串:", inputString)

# 输入字符
inputChar = "p"

# 存储包含输入字符的单词计数
wordsCount = 0

# 将输入字符串分割成单词列表
wordsList = inputString.split()

# 遍历单词列表中的元素
for element in wordsList:

   # 将当前单词的字符频率作为键值对获取
   ele_frequency = Counter(element)

   # 检查输入字符是否存在于频率字典的键中
   if inputChar in ele_frequency.keys():

      # 如果条件成立,单词计数值加1
      wordsCount += 1
print("包含字符 'p' 的单词计数为:", wordsCount)

输出

输入字符串: hello tutorialspoint python codes
包含字符 'p' 的单词计数为: 2

结论

在本文中,我们研究了四种不同的方式来计算以特定字母开头的单词数量。我们还学习了如何使用Counter()函数来获取可迭代项的频率(字典哈希)。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程