计算表格中的单词总数

时间:2017-10-10 02:15:30

标签: python

如果我有一个文本文件,包含:

Alex is a footballer
Alex loves football

并在将文本文件读入python中的列表后,输出:

lst = [['Alex','is','a','footballer'],['Alex','loves','football']]

如何计算列表中的字数?我想的是:

count = 0
for word in lst:
    count += len(lst)

输出:

Total number of words: 7

4 个答案:

答案 0 :(得分:2)

您也可以sum(map(len,lst))。更简洁。

答案 1 :(得分:2)

如果您希望它更有意义,那么它可以正常工作。这是因为列表包含列表列表(这些较小的列表是文本文件的一行)。

此外,如果您不想在python代码中执行此操作,在终端中您只需编写wc -w file.txt即可查看该文件中的单词数。

答案 2 :(得分:1)

另一种规范方法是使用每个元素的itertools.chain.from_iterable和总和1

import itertools

result = sum(1 for _ in itertools.chain.from_iterable(lst))
# equivalent to sum(1 for sublst in lst for el in sublst)

但你的示例代码很好。

答案 3 :(得分:0)

您可以在一行中执行此操作:

total = sum([len(i) for i in lst])