用Python计算一个句子的平均字长

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

本教程将教你在Python中计算一个句子的平均字长。

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

计算一个句子中的每个词并找出平均词长是不可能的。但是你可以把它分割成一个列表并应用这个函数。

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() 函数得到所有字符的长度之和。

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

这个方法和上面一样,但这里我们使用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

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

join() 方法将一个迭代器 (list, tuple, string) 中的所有项目连接成一个字符串。在这个方法中,我们使用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 中。然后我们通过用single 的长度除以words 的长度来计算平均字长。

输出:

Average word length is 7.0

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

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程序。