2020年10月22日 / 237次阅读 / Last Modified 2020年10月22日
字符串
str.strip函数有个不大不小的坑,它的sep默认值是None,不是空格。
>>> a = 'a b c d e'
>>> a.split()
['a', 'b', 'c', 'd', 'e']
>>> a.split(' ')
['a', 'b', 'c', 'd', 'e']
上面这种情况,你看不到区别。但是下面这种情况,就有区别了:
>>> b = 'a b c d e '
>>> b.split()
['a', 'b', 'c', 'd', 'e']
>>> b.split(' ')
['a', 'b', 'c', 'd', 'e', '', '', '', '', '']
今天遇到的bug,就是这种情况。还有下面的情况:
>>> c = 'a b c d'
>>> c.split()
['a', 'b', 'c', 'd']
>>> c.split(' ')
['a', '', '', 'b', '', '', 'c', '', '', 'd']
str.split函数使用默认值,一般工作的很好,如果要指定sep为其它符号,就要小心了!
-- EOF --
本文链接:https://www.pynote.net/archives/2603
前一篇:多进程同时写同一个文件
后一篇:TCP连接的状态转换
Ctrl+D 收藏本页
©Copyright 麦新杰 Since 2019 Python笔记