美文网首页
Python - 4

Python - 4

作者: Ego_1973 | 来源:发表于2017-05-19 11:28 被阅读0次

    #######coding=utf-8
    #######高阶函数

    map()
    def f(x):
    return x*x
    print map(f,[1,2,3,4,5])
    
    def name(x): #将数组元素第一个元素改为大写,其他元素改为小写
    return x.capitalize()
    print map(name,['abs','ABC','sbs'])
    
    reduce()
    # reduce() 函数接收与map()类似,一个函数f,一个list,但行为和map()不同,reduce()传入的函数f必须接收两个参数,reduce()对list的每个元素反复调用函数f,并返回最终结果值
    # 利用reduce()求和
    def f(x,y):
    return x+y
    print reduce(f,[1,2,3]) #6
    
    #reduce()还可以接收第三个可选参数,作为计算的初始值
    print reduce(f,[1,2,3,4],100) #110
    
    #利用reduce()求和
    def f(x,y):
    return x*y
    print reduce(f,[2,4,5,7])  #280
    
    filter()
     #filter() 该函数接收一个函数f和一个list,这个函数f的作用是对每个元素进行判断,返回true或false,filter()根据判断结果自动过滤不符合条件的元素,返回由符合条件元素组成的新list
    def is_odd(x):
    return  x % 2 == 1
    print  filter(is_odd,[1,2,3,4,5]) #[1, 3, 5]
    
    def is_not_empty(x):
    return x and len(x.strip()) > 0 #strip()方法用于移除字符串头尾指定的字符(默认为空格)
    print filter(is_not_empty, ['liu',' ',None,'hah',' ']) #['liu', 'hah']
    
    a = '  123'
    print a.strip() #123
    
    a = '\t\t123\r\n'
    print a.strip() #123
    
    import math
    def is_square(x):
    r = int(math.sqrt(x)) #math.sqrt(x)求平方根,而他返回的结果是浮点数,所以使用int接收
    return r*r == x #它的平方根再等于它自身
    print filter(is_square,range(1,101)) #[1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
    
    sorted()
     #sorted() 是一个比较函数 两个待比较的元素x与y,如果x应该排在y的前面,返回-1,如果x应该排在y的后面,返回1,如果相等返回1
    print sorted([1,4,2,5,9,7]) #[1, 2, 4, 5, 7, 9]
    
    倒序
    def reversed_cmp(x,y):
    if x > y:
        return -1
    if x < y:
        return 1
    if x == y:
        return 0
    print sorted([65,9,63,5],reversed_cmp) #[65, 63, 9, 5]
    
    #比较字符串
    print sorted(['bob', 'about', 'Zoo', 'Credit']) #['Credit', 'Zoo', 'about', 'bob'] 'Zoo'排在'about'之前是因为'Z'的ASCII码比'a'小。
    
    忽略字符串大小写比较  ['bob', 'about', 'Zoo', 'Credit']
    def str(x,y): #要想比较需要先把字符串变成大写或者小写
    return  cmp(x.lower(),y.lower()) #lower() 方法转换字符串中所有大写字符为小写。
    
    #cmp(x,y) 函数用于比较2个对象,如果 x < y 返回 -1, 如果 x == y 返回 0, 如果 x > y 返回 1。
    print sorted(['bob', 'about', 'Zoo', 'Credit'],str) #['about', 'bob', 'Credit', 'Zoo']

    相关文章

      网友评论

          本文标题:Python - 4

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