在Python中从数组中删除空元素

2024-03-28 10:42:00 发布

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

with open("text.txt", 'r') as file:
    for line in file:
        line = line.rstrip('\n' + '').split(':')
        print(line)

尝试删除正在生成的数组序列中的空列表时遇到问题。我想使每一行都成为text.txt中的一个数组,这样我就能够准确地分别访问每一行中的每个元素。

空列表显示为['']-正如您在第四行看到的,我试图显式地将它们去掉。空元素一旦填充了新行字符,就可以使用.rstrip('\n')成功地删除这些字符。

编辑:

我对一些术语有一个误解,现在更新了上面的内容。基本上,我想去掉空列表。


Tags: textintxt元素列表foraswith
1条回答
网友
1楼 · 发布于 2024-03-28 10:42:00

由于我看不到您的确切行,因此很难为您提供与您的要求完全匹配的解决方案,但是如果您希望获得列表中所有不是空字符串的元素,则可以执行以下操作:

>>> l = ["ch", '', '', 'e', '', 'e', 'se']
>>> [var for var in l if var]
Out[4]: ['ch', 'e', 'e', 'se']

您也可以将filterNonebool一起使用:

>>> filter(None, l)
Out[5]: ['ch', 'e', 'e', 'se']
>>> filter(bool, l)
Out[6]: ['ch', 'e', 'e', 'se']

如果要删除带有空字符串的列表,则对于特定示例,可以执行以下操作:

with open("text.txt", 'r') as file:
    for line in file:
        line = line.rstrip('\n' + '').split(':')
        # If line is just empty
        if line != ['']:
            print line

相关问题 更多 >