我希望能够从包含120,000多个单词的文本文件(dictionary.txt)中删除\ n字符(.rstrip(' \ n'))。然后计算每一行并返回txt文件中的单词数量(每个单词都在它自己的行上)。 然后最后希望将所有单词存储到列表中。
此刻,下面的代码会返回行数,但不会删除\ n字符,以便将其存储到列表中。
def lines_count():
with open('dictionary.txt') as file:
print (len(file.readlines()))
答案 0 :(得分:1)
如果您想要没有尾随换行符的行列表,可以使用str.splitlines()
方法,在这种情况下,您可以使用file_obj.read()
将该文件作为字符串读取,然后使用{{1}整个字符串。虽然,splitlines()
函数已经从您的行中返回了一个生成器(您可以在处理行时简单地删除尾随换行符),或者只需调用open
,就不需要这样的事情。一个str.strip()
来创建条纹线的迭代器:
map
但是,如果您只想将单词计算为pythonic方式,则可以在with open('dictionary.txt'):
striped_lines = map(str.strip, f)
函数中使用生成器表达式,如下所示:
sum
请注意,在您拆分线条时无需剥离新线条。
e.g。
with open('dictionary.txt') as f:
word_count = sum(len(line.split()) for line in f)
但是如果你仍然想要列表中的所有单词,你可以使用列表推导而不是生成器表达式:
In [14]: 'sd f\n'.split()
Out[14]: ['sd', 'f']
答案 1 :(得分:0)
如果你想返回没有this.router.navigate(['../dock-request'], {relativeTo: route});
的行列表,然后打印这个列表的长度:
\n