如何将两行合并为一个列表?

时间:2016-03-14 15:00:00

标签: python

我有一个文件(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] 

2 个答案:

答案 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()]