如果我有一个文本文件,包含:
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
答案 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])