我有时遇到过这个问题,对我来说感觉很奇怪。我是编程方面的新手,也是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显然不重复 因为那个人并不关心空字符串,这是这个问题的核心。