在 Python 中处理字符串时,有时您可能需要知道句子中的平均单词长度。 一个句子的平均字长等于所有字符的长度与所有单词的总和之和。

本篇文章将介绍用 Python 计算句子中的平均字长。


在 Python 中使用 split()、sum() 和 len() 计算句子中的平均字长

计算句子中的每个单词并找到平均单词长度是不可能的。 但是您可以将其拆分为一个列表并应用该功能。

Python 中的 split() 方法将一个字符串拆分为一个列表,其中每个单词都是一个列表项。

将字符串拆分为列表后,使用 len() 函数获取平均字长。 len() 函数提供列表中的项目数。

以下示例计算给定句子中的平均单词长度。

sentence = "Welcome to DelftStack tutorials"
words = sentence.split()
avg = sum(len(word) for word in words) / len(words)
print("Average word length is", avg)

输出:

Average word length is 7.0

sum() 函数获取所有字符长度的总和。


在 Python 中使用 split()、sum()、map() 和 len() 计算句子中的平均字长

这个方法和上面一样,但是这里我们使用map()函数来获取字符的长度。 map() 函数允许您将指定函数应用于可迭代对象的所有项。

如您所见,它取代了第一个方法中的 for 循环。

sentence = "Welcome to DelftStack tutorials"
words = sentence.split()
average = sum(map(len, words)) / len(words)
print("Average word length is", average)

输出:

Average word length is 7.0

在 Python 中使用 split()、len() 和 join() 计算句子中的平均字长

join() 方法将可迭代对象(列表、元组、字符串)中的所有项目连接成一个字符串。 在这个方法中,我们使用 split()、len() 和 join() 来计算句子中的平均单词长度。

sentence = "Welcome to DelftStack tutorials"
words=sentence.split()
single=''.join(words)
average=len(single)/len(words)
print("Average word length is", average)

在这里,我们将句子拆分成一个列表,并保存在一个变量 words 中。 接下来,我们使用 join() 方法将列表中的项目与空字符串连接起来。

结果是 WelcometoDelftStacktutorials,它保存在一个变量 single 中。 然后我们通过将单个的长度除以单词的长度来计算平均单词长度。

输出:

Average word length is 7.0

在 Python 中使用 len() 和 replace() 计算句子中的平均字长

Python 中的 replace() 方法用新的文本/字符替换指定的文本/字符。

在这种情况下,我们用空字符串替换空格。 我们使用 len() 函数计算句子中的字符数。

接下来,我们将结果除以列表对象中的项目数,得到句子中的平均单词长度。

sentence = "Welcome to DelftStack tutorials"
average = len(sentence.replace(' ','')) / len(sentence.split())
print("Average word length is", average)

输出:

Average word length is 7.0

现在你应该知道如何使用 split() 命令计算句子的平均字长了。 所有方法背后的逻辑都非常相似。

您还学习了使用 len()replace() 来确定平均字长。 我们希望您喜欢学习这个简单的 Python 程序。