Cha*_*l72 3 python string split
我刚刚注意到,split如果第一个字符是分隔符字符串,则该方法在结果列表中生成一个空字符串.
例:
>>> s = '/foo/bar/blarg'
>>> s.split('/')
['', 'foo', 'bar', 'blarg']
Run Code Online (Sandbox Code Playgroud)
我希望这能产生:
['foo', 'bar', 'blarg']
Run Code Online (Sandbox Code Playgroud)
有什么理由说这是理想的行为,还是这只是一个错误?
这是期望的行为,因为否则将无法区分"/foo".split("/")和"foo".split("/').
当我使用split并知道我不想要空字符串时,我会用它filter(None, foo.split("/"))来删除它们:
>>> filter(None, "/foo//bar".split("/"))
['foo', 'bar']
Run Code Online (Sandbox Code Playgroud)