美文网首页
Python一些实用代码

Python一些实用代码

作者: yyaqdw | 来源:发表于2016-07-14 22:54 被阅读0次

    1、if python

    a = 1
    b = 2
    c = a if a > b else b
    

    2、with

    with open('/path/to/file', 'r') as f: 
       print f.read()
    

    3、map
    大多数的for循环可以用map来代替,用法是:map(func,seq),对seq中的每个元素进行操作,具体什么操作在func里定义

    array = [1, 2, 3]
    square_array = map(lambda i: i ** 2, array)
    

    map的第一个参数是lambda表达式,冒号前面的i作为形参,来自于array中的元素,冒号后面就是要返回的值。当然你也可以使用列表推导式来代替:

    array = [1, 2, 3]
    square_array = [i ** 2 for i in array]
    

    4、filter
    用法与map类似:filter(func,seq),对seq中的元素进行过滤,返回符合条件的那些元素。比如返回array = [1, 2, 3, 4]
    中的所有奇数:

    print filter(lambda i: i % 2, array)
    

    这里是对2取余,返回结果为True的元素。那么什么情况下结果True?Python里面不为0,None或者null都是True。所以结果就是,偶数是False,奇数是True,返回所有奇数。列表推导式方案:

    print [i for i in array if i % 2 != 0]
    

    5、reduce
    用法:reduce(func,seq),对seq中的每个元素进行func操作,最后汇总返回一个值。
    1.求array = [1, 2, 3]所有元素的和:

    print reduce(lambda x, y: x + y, array)
    

    reduce会先将array里面的头两个数分别作为x和y,求它们的和,然后把它的结果和第三个相加,再把结果和第四个相加,直到最后一个元素。
    2.求array = [1, 2, 3] 中的最大值:

    print reduce(lambda x, y: x if x > y else y, array)
    

    相关文章

      网友评论

          本文标题:Python一些实用代码

          本文链接:https://www.haomeiwen.com/subject/tgfyjttx.html