温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python 高阶函数:filter(过滤器)

发布时间:2020-08-11 20:02:06 来源:网络 阅读:2252 作者:虎皮喵的喵 栏目:编程语言

官网解释:

  • filter(functioniterable)

  • Construct a list from those elements of iterable for which function returns true. iterable may be either a sequence, a container which supports iteration, or an iterator. If iterable is a string or a tuple, the result also has that type; otherwise it is always a list. If function is None, the identity function is assumed, that is, all elements of iterable that are false are removed.

    Note that filter(function, iterable) is equivalent to [item for item in iterable if function(item)] if function is not None and [item for itemin iterable if item] if function is None.

    See itertools.ifilter() and itertools.ifilterfalse() for iterator versions of this function, including a variation that filters for elements where the function returns false.



  • str.strip([chars])

  • Return a copy of the string with the leading and trailing characters removed. The chars argument is a string specifying the set of characters to be removed. If omitted or None, the chars argument defaults to removing whitespace. The chars argument is not a prefix or suffix; rather, all combinations of its values are stripped:

    >>> '   spacious   '.strip()
    'spacious'
    >>> 'www.example.com'.strip('cmowz.')
    'example'

就是,如果省略参数,默认过滤空格。


#过滤list中的偶数

def get_odd(s):
    return s % 2 == 1;   #C语言绝对不能这么写
   
print "get odd:", filter(get_odd, [1, 2, 3, 4, 5, 6])

python 高阶函数:filter(过滤器)


#过滤list中的空格

def not_empty(s):
    return s and s.strip()   #s过滤了'None'元素,s.strip()默认过滤空格
   
print "not_empty:", filter(not_empty, ['A', ' ', 'B', None, 'C', '  '])

python 高阶函数:filter(过滤器)



补充:

.strip(None/string):从头尾开始,按对象字符串顺序删除

a.如果strip参数中没有对象头尾开始的字符,则无法删除,返回对象全字符

str1 = 'www.example.com'
print (str1.strip('lcoz.'))

  ####strip参数中没有'w'/'m',两端删除受阻


b.如果strip参数中有对象的头尾开始字符,则匹配删除参数中的字符,返回未删除字符

str1 = 'www.example.com'
print (str1.strip('lcwmeoza.'))

xamp   ####strip参数中没有'x'/'p',两端删除受阻







向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI