从filePython中拆分行时删除一个额外的空列表

2024-10-01 07:38:49 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图打开一个有两个句子的文件,并把这两个句子分成一个单词列表。然而,当我这样做的时候,我也得到了一个额外的空列表,如何才能避免这种情况呢?在

x1=[]
fopen=open("testxxx",'r')
for line in fopen:
   x=line.split()
   x1.append(x)
print x1

我得到:

^{pr2}$

Tags: 文件in列表forline情况open单词
3条回答

删除空列表:

x1= [x for x in x1 if x]

使用splitlines()将文件的所有行读入列表:

with open('filename.txt', 'r') as f:
    mylist = f.read().splitlines()

使用以下列表拆分行:

^{pr2}$

使用filter()删除任何空列表项:

mylist = filter(None, mylist)

您也可以在读取文件时执行所有这些操作:

mylist = []
with open('filename.txt', 'r') as f:
    for line in f:
        if line.strip():
            mylist.append(line.split())
x1=[]
fopen=open("testxxx",'r')
for line in fopen:
   x=line.split()
   if x:
       x1.append(x)
print x1

相关问题 更多 >