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