zoukankan      html  css  js  c++  java
  • Python常用的内置函数

    •  filter函数:
    filter函数的功能:用for循环对一个列表元素进行筛选
    格式:filter(功能函数,参数)
    注意:filter返回值是一个object对象,需要用list转换成一个列表

    不用filter函数时所用的代码:
    i = ['alex','alex1_sb','alex2_sb','alex3_sb','alex4_sb','alex5_sb','alex5_sb']
    def sb_end(x):
        return x.endswith('sb')
    def sb_guolv(func,num):
        a = []
        for i in num:
            if  not  func(i):
                a.append(i)
        return a
    print(sb_guolv(sb_end,i))
    print(list(sb_guolv(lambda x:x.endswith('sb'),i)))
    
    

    以上代码用filter函数简化代替:

    i = ['alex','alex1_sb','alex2_sb','alex3_sb','alex4_sb','alex5_sb','alex5_sb']
    print(list(filter(lambda x:not x.endswith('sb'),i)))
    • map函数

      map函数的功能:一个列表的每个元素进行自增

      格式:map(功能,参数)
    注意:map返回值是一个object对象,需要用list转换成一个列表

    不用map函数时的代码:

    i = [1,2,3,4,5,6,7,8,9,10]
    def add_num(x):
         return x+1
    def map_test(func,num):
         n = []
         for j in num:
             b = func(j)
             n.append(b)
    print(a)
    
    

    以上代码用map函数代替:

    print(list(map(lambda x:x+1,[1,2,23,4,5,6])))


    •  reduce函数

    功能:对一个列表的所有元素进行合并操作。

    格式:reduce(功能函数,参数)

     

    不用reduce函数的代码:

    num = [1,2,3,100]
    def reduce_test(func,x,y = None):
         if y == None:
             a = x.pop(0)
         else:
             a = y
         for i in x:
             a = func(a,i)
         return a
     print(reduce_test(lambda x,y:x*y,num,100))
    用reduce代替:
    num = [1,2,3,100]
    from functools import reduce
    print(reduce(lambda x,y:x*y,num))
    
    
    
    •  其它一些比较简单的内置函数:
    ###########编码:
    # print(bytes('你好!',encoding='utf-8'))
    # print(b'xe4xbdxa0xe5xa5xbdxefxbcx81'.decode('utf-8'))
    # print(bytes('你好骚啊!',encoding='gbk'))
    # print('你好骚啊!'.encode('gbk'))
    # print(b'xc4xe3xbaxc3xc9xa7xb0xa1xa3xa1'.decode('gbk'))
    
    ##########ASCII编码表:
    # print(chr(96))
    #########反过来:
    # print(ord('a'))
    
    ##########dir:打印某一个对象的所有方法:
    # print(dir(dir))
    
    
    ########divmod:取商取余,进行分页操作:
    # print(divmod(100,3))
    
    
    #######eval:提取一个字符串的字典;将一个字符串里的运算进行提取并计算出结果:
    # name1 = "{'alex':'123'},{'alex1':'123'}"
    # print(eval(name1))
    # name2 = '1+(2+3*5/5+2)-2**2'
    # print(eval(name2))
    
    
    #########hash:哈希编译;每一次的计算结果都是随机的
    # name = 'name'
    # print(hash(name))
    
    #########10进制转换:
    # print(bin(12)) #10进制转2进制
    # print(oct(12)) #10进制转8进制
    # print(hex(12)) #10进制转16进制
    
    ######    isinstance:判断一个数据是否属于某一个数据类型
    # print(isinstance(123,int))
    # print(isinstance('123',int))
    
    ##############max,min:求最大最小值:
    # name = [1,2,3,4,5,6,-2,100]
    # print(max(name))
    # print(min(name))
    
    ############# zip(拉链):将两个列表或者字典转化成一一对应的关系。
    # print(dict(zip([1,2,3,4,5,6],['alex','alex','alex','alex','alex','alex'])))
    # a = {1: 'alex', 2: 'alex', 3: 'alex', 4: 'alex', 5: 'alex', 6: 'alex'}
    # print(list(zip(a.keys(),a.values())))
    
    
    # name = {'alex1':10,'alex2':11,'alex3':15,'alex4':-100,'alex5':100}
    # # a = zip(name.values(),name.keys())
    # # print(list(a))
    # print(max(zip(name.values(),name.keys())))
    
    
    ##############  max函数的终极用法: #####################
    # 需求:用max函数取出这个列表中年龄最大的一个值
    # name = [
    #     {'name':'alex1','age':18},
    #     {'name':'alex2','age':20},
    #     {'name':'alex3','age':21},
    #     {'name':'alex4','age':100},
    #     {'name':'alex5','age':1000}
    # ]
    # l = []
    # for i in name:
    #     l.append(i['age'])
    # print(max(l))
    
    # print(max(name,key = lambda list:list['age']))
    
    
    
    #############pow:
    # print(pow(2,3))    ####相当于:2**3
    # print(pow(2,3,2))  ####相当于:2**3%2 2的三次方除以2的余数
    
    ##############  reversed():反转函数:
    # l = [1,2,3,4,5,6,7,8,9]
    # print(list(reversed(l)))
    
    
    ##############  slice:切片,相当于[a:b]
    # a = 'hello world'
    # s = slice(3,8)
    # print(a[s])
    # print(a[3:8])
    
    
    #############   sorted():排序
    # name = [
    #     {'name':'alex1','age':18},
    #     {'name':'alex2','age':20},
    #     {'name':'alex3','age':21},
    #     {'name':'alex4','age':100},
    #     {'name':'alex5','age':1000}
    # ]
    # print(sorted(name,key=lambda dic:dic['age']))
    # a = [9,8,7,6,5,4,3,2,1,0]  #只能排同数据类型
    # print(sorted(a))
    # # print(sorted(name))  #这个格式是错误的
     
  • 相关阅读:
    C++笔记(1):使用STL中sort()对struct排序
    Reading papers_13(gesture recognition survey,ing...)
    PCA算法学习_2(PCA理论的matlab实现)
    一些知识点的初步理解_8(Graph Cuts,ing...)
    基础学习笔记之opencv(18):kmeans函数使用实例
    opencv源码解析之(7):CvAdaptiveSkinDetectorl类
    Kinect+OpenNI学习笔记之11(OpenNI驱动kinect手势相关的类的设计)
    基础学习笔记之opencv(22):learning OpenCV书中一个连通域处理函数
    Reading papers_15(Graph cuts optimization for multilimb human segmentation in depth maps)
    Kinect+OpenNI学习笔记之12(简单手势所表示的数字的识别)
  • 原文地址:https://www.cnblogs.com/maoxinjueluo/p/12537332.html
Copyright © 2011-2022 走看看