zoukankan      html  css  js  c++  java
  • pyDay16

    内容来自雪峰的官方网站。

    1、Python内建的filter()函数用于过滤序列

    2、和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。

    3、例如:过滤出不及格的学生。

    >>> def is_fail(n):
    ...     if n < 60 :
    ...             return True
    ...     else:
    ...             return False
    ...
    >>> list(filter(is_fail, [55, 65, 77, 47, 43, 88, 99]))
    [55, 47, 43]

     注意到filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。

    4、用fillter求素数

    diy版本(按字面意思翻译)

    def is_prime(n):
        if n <= 1:
            return False
        for i in range(2, n):
            if n % i == 0:
                return False
        return True
    >>> from test import is_prime
    >>> is_prime(3)
    True
    >>> is_prime(4)
    False
    >>> list(filter(is_prime, [1, 2, 3, 4, 5, 6, 7]))
    [2, 3, 5, 7]

    5、遇到一个小问题:如果在交互界面漏括号

    >>> list(filter(is_prime, list(range(1, 8))))
    [2, 3, 5, 7]
    >>> list(filter(is_prime, list(range(1, 8)))
    ...
    ...
  • 相关阅读:
    浮动 无刷新 div
    vidalia 更换浏览器代理
    vb 主动 点击 a
    Delphi 资料收集
    用Linux的iptables和Python模拟广域网
    框架资源
    div 边框
    Google App Engine
    mac 雪豹 10.6 五国
    Windows Azure Storage (3) Windows Azure Storage Service存储服务之Blob详解(中)
  • 原文地址:https://www.cnblogs.com/xkxf/p/6506309.html
Copyright © 2011-2022 走看看