首页 > 代码库 > python中strip()的陷阱
python中strip()的陷阱
使用python的时候,发现了一个strip()命令的坑。
之前对strip(X)的理解是:去除开头和结尾包含的"X"字符串,如果不包含则不去除。
这里面的一个坑是:python对字符串X的处理是一个set,而不是一个固定顺序的字符串。也就是说,是把X拆开成由单个字母组成的set来看待的,如果被strip()的字符串在左右边包含任意一个该set中的字符,都会被strip()掉。示例如下:
>>> a="abc_1213" >>> a.strip('abc_') '1213' >>> a.strip('ba_c') '1213' >>> a.strip('zxcvbnmasdfghjklpoiuytrewq') '_1213' >>> a.strip('zxcvbnmasdfg_hjklpoiuytrewq') '1213'
最开始,个人的理解是第一种情况。strip(‘abc_‘)之后,只会去除左边的"abc_"。
实验之后,确认,是把要strip的字符串当做了一个set来处理的。只要是左右两边的字符在该set内,都会被逐一去除,直到遇到第一个不在该set内的字符为止。
python中strip()的陷阱
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。