我有一个文件(text.txt),如下所示:
I went to the pool yesterday.
The water there was freezing and I caught a cold
我正在读取此文件并删除其中的额外新行。然而,在这样做时,这两行被放入单独的列表中。像这样:
[[u'i', u'went', u'to', u'the', u'pool', u'yesterday'], [u'the', u'water', u'there', u'was', u'freezing', u'and', u'i', u'caught', u'a', u'cold']]
如何确保将这两行放入一个列表列表中呢? 我正在看这样的事情:
[[u'i', u'went', u'to', u'the', u'pool', u'yesterday', u'the', u'water', u'there', u'was', u'freezing', u'and', u'i', u'caught', u'a', u'cold']]
到目前为止,这是我的代码,以消除额外的空间。
lines=[line for line in punc if line]
答案 0 :(得分:1)
这样做:
lines = sum((line for line in punc if line), [])
它需要所有行的总和。通常情况下,sum()
的工作原理是将每个项目添加到原始值0
,但是当您将其他内容添加到[]
时,它会添加所有内容。
答案 1 :(得分:1)
对于您想要的输出,您根本不需要迭代行。您只需阅读整个输入并拆分:
>>> with open('text.txt') as f:
... words = [f.read().split()]