filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。
filter()方法语法:filter(function, iterable)。接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
比如:将字符串 '12kslkHHHs58’中的整数取出
strigs_ = '12kslkHHHs58'
# 每个序列元素传给isdigit() 方法检测字符串是否只由数字组成
num = filter(str.isdigit, strigs_)
# 转成列表输出
print(list(num))
# 输出:['1', '2', '5', '8']
)
此外,类似的用法还有以下方法:
isalnum() 方法检测字符串是否由字母和数字组成。
isalpha() 方法检测字符串是否只由字母组成。
isupper() 方法检测字符串中所有的字母是否都为大写。
isdecimal() 方法检查字符串是否只包含十进制字符
islower() 方法检测字符串中所有的字母是否都为小写。
isnumeric() 方法检测字符串是否只由数字组成。这种方法是只针对unicode对象。