python编程,如何判断空字符串/英文空格/中文空格?
发布于 作者:苏南大叔 来源:程序如此灵动~ 我们相信:世界是美好的,你是我也是。平行空间的世界里面,不同版本的生活也在继续...
空字符串/英文半角空格/中文全角空格,这些字符串在某些逻辑层面上,也可以被视为空值。本文将对这些可以视为空值的特殊字符串进行区分检测。
大家好,这里是苏南大叔的“程序如此灵动”博客,这里讲述苏南大叔和计算机代码之间的故事。测试环境:python@3.6.8
,pandas@1.1.5
,numpy@1.24.4
。
测试对象
这里的测试对象,都归属于字符串。定义如下:
import pandas as pd
s = pd.Series(["", " ", " ", ' '])
注意:最后两个元素是中文全角状态下的空格。
不是空值
代码层面上来说,上面的几个对象都不是空值。测试代码:
print(s.isnull())
输出:
0 False
1 False
2 False
3 False
dtype: bool
print(s.apply(lambda x: x is None))
输出:
0 False
1 False
2 False
3 False
dtype: bool
空字符串检测
print(s.apply(lambda x: x =="" ))
输出:
0 True
1 False
2 False
3 False
dtype: bool
空格检测
无论全角还是半角,空格检测都可以通过。
print(s.apply(lambda x: str(x).isspace()))
输出:
0 False
1 True
2 True
3 True
dtype: bool
空字符串+空格检测
其实,对于苏南大叔来说,空格也是空字符串。所以,检测方式变成:
print(s.apply(lambda x: (str(x).strip() == "") ))
输出:
0 True
1 True
2 True
3 True
dtype: bool
相关文章
本文中大量使用了lambda
表达式,参考文章:
总结
总之,空字符串检测的方法是==''
,空格检测的方法是:.isspace()
。更多python
文章,请参考:
如果本文对您有帮助,或者节约了您的时间,欢迎打赏瓶饮料,建立下友谊关系。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。
本博客不欢迎:各种镜像采集行为。请尊重原创文章内容,转载请保留作者链接。