我们在进行数据处理时候,可能想要提取字符串中的数字进行分析。可以通过如下的方法实现这一功能。
def get_number(x):
return float(filter(str.isdigit, str(x)))
其中,x为输入的字符串,返回值为字符串中的数字。返回的结果为浮点型。
这个函数主要通过python的两个内置函数来实现,现在为大家介绍这两个内置函数的功能:
①filter
filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回 True或 False,filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
②str.isdigit
检查字符串是否只包含数字(全由数字组成)。
那么get_number()的逻辑为:对输入的字符串,通过str.isdigit判断出字符串x中的数字,在通过filter将str.isdigit判断为True的字符返回。这样就得到了字符串中的数字了。
发现还有许多类似于str.isdigit的函数:
islower()
检测字符串是否由小写字母组成;可以通过该方法返回字符串的小写字母。
isupper()
检测字符串是否由大写字母组成;可以通过该方法返回字符串的小写字母。