如何在Python的列表中进行字数统计?

如何在Python的列表中进行字数统计?,python,python-3.x,Python,Python 3.x,我有一个列表,它的结构如下: ['Blah blah blah', 'blah blah blah', 'blah', 'blah blah'] (用户输入组成列表的输入,但我已经为此编写了代码) 我需要编写一个代码,告诉用户列表中有多少单词。在这个特定的列表中,有9个单词,我尝试了很多方法,但我似乎无法编写正确的代码。请帮助,谢谢。假设单词总是用一个空格分隔,您可以使用以下代码: >>> words = ['Blah blah blah', 'blah blah blah'

我有一个列表,它的结构如下:

['Blah blah blah', 'blah blah blah', 'blah', 'blah blah']
(用户输入组成列表的输入,但我已经为此编写了代码)
我需要编写一个代码,告诉用户列表中有多少单词。在这个特定的列表中,有9个单词,我尝试了很多方法,但我似乎无法编写正确的代码。请帮助,谢谢。

假设单词总是用一个空格分隔,您可以使用以下代码:

>>> words = ['Blah blah blah', 'blah blah blah', 'blah', 'blah blah']
>>> 
>>> sum(len(line.split()) for line in words)
9

假设单词总是由一个空格分隔,您可以使用以下代码:

>>> words = ['Blah blah blah', 'blah blah blah', 'blah', 'blah blah']
>>> 
>>> sum(len(line.split()) for line in words)
9
或者更短,正如Eric所建议的:

sum(len(x.split()) for x in ['Blah blah blah', 'blah blah blah', 'blah', 'blah blah'])
或者更短,正如Eric所建议的:

sum(len(x.split()) for x in ['Blah blah blah', 'blah blah blah', 'blah', 'blah blah'])
这应该起作用:

thelist = ['Blah blah blah', 'blah blah blah', 'blah', 'blah blah']
wc = 0
for item in thelist:
    words = item.split()
    wc = wc + len(words)
print 'word count is %d.' % (wc)
这应该起作用:

thelist = ['Blah blah blah', 'blah blah blah', 'blah', 'blah blah']
wc = 0
for item in thelist:
    words = item.split()
    wc = wc + len(words)
print 'word count is %d.' % (wc)

单词总是空格分隔的吗?是的,单词是空格分隔的。单词总是空格分隔的吗?是的,单词是空格分隔的。这会产生错误的结果,带有尾随/前导空格。我只需使用
line.split()
,而不指定分隔符。这会使用尾随/前导空格产生错误的结果。我只需要使用
line.split()
,而不指定分隔符。你永远不需要为iterable中的x[g(y)为y]写
f(x)
-只需在iterable中为y使用
f(g(y))
@Eric谢谢,我的答案中添加了这一点。你永远不需要为iterable中的x[g(y)为y]写
f(x)
-只要使用
f(g(y))对于iterable中的y
@Eric谢谢,添加到我的答案中。