str.strip函数的坑

2020年10月22日 / 11次阅读 / 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

留言区

电子邮件地址不会被公开。 必填项已用*标注


前一篇:
后一篇:

More


©Copyright 麦新杰 Since 2019 Python笔记

go to top