Python,无法从列表

时间:2017-10-10 07:34:30

标签: python string list

我有时遇到过这个问题,对我来说感觉很奇怪。我是编程方面的新手,也是Python的新手,如果我问任何愚蠢的话,请提前抱歉。

所以我正在解析一些文件:     def listSeqs(typeStr,fileName):

with open(fileName) as f:
    lines = f.readlines()
for line in lines:
    words = line.split(" ")
    for word in words:
        if not word:
            words.remove(word)
    print(words)

由于文件中包含一些白色字符,空格或制表符,我将" m分割为" ",我也试过用" \ t"分裂,得到了类似的结果。

在尝试从列表中删除空字符串之前,行中的单词列表如下所示:

['', '', '', '', '', 'source', '', '', '', '', '', '', '', '', '', '1..57227415\n']
用代码删除空字后

for word in words:
    if not word:
        words.remove(word)

这条线看起来像这样:

['source', '', '', '', '', '', '', '1..57227415\n']

我也尝试用

删除空字符串
if len(word)==0
if word == ''
if word == ""
if word == '\t'

我无法从列表中删除空字符串。

我想知道为什么?如果有人可以解释一下吗?

我在Ubuntu 16.04上使用Python 3.5.2。

非常感谢。

PS。问题Remove items from a list while iterating显然不重复 因为那个人并不关心空字符串,这是这个问题的核心。

0 个答案:

没有答案