zoukankan      html  css  js  c++  java
  • python函数七(内置函数)

    一。内置函数

    1.重要内置函数

      都是带key的: max min map filter 返回的是迭代器 

      sorted 返回的是列表 函数名在后

      1.1 max

    dic = {'k1':20,'k2':30,'k3':100}
    def func(x):
        return dic[x]
    l1 = max(dic,key=func,)   #(输出的是dic默认就是输出dic的键),函数返回的是是value值,即选出最大的value对应的键
    print(l1) #k3
    
    dic = {3:20,2:30,1:100}
    def func(x):
        return x
    l1 = max(dic,key=func,)     #(输出的是dic默认就是输出dic的键),函数返回的是是key值,即选出最大的key
    print(l1) #3

      1.2      zip 可以放置多个可迭代对象,以最少的可迭代对象的个数为基准,返回一个迭代器( 拉链方法)

    l1 = [1,2,3,4,5]
    l2 = ['wusir','alex','taibai']
    l3 = ['*',"**"]
    print(zip(l1,l2))     #<zip object at 0x00000161EDC19F08>
    for i in zip(l1,l2,l3):
        print(i)
    结果:
    (1, 'wusir', '*')
    (2, 'alex', '**')

      1.3 map

    print([i*i for i in range(5)])         #[0, 1, 4, 9, 16]
    
    print(map(abs,[1,2,3,-4,-5,-7]))      #<map object at 0x0000015B0DCC75C0>   迭代器
    for i in map(abs,[1,2,3,-4,-5,-7]):  #abs 是内置函数,绝对值
        print(i)
    
    def func(x):return x*x
    for i in map(func,range(5)):          #func是自己写的函数
        print(i)
    
    def func(x):return x*x
    for i in map(func,[0,1,2,3,4]):
        print(i)

      1.4 filter    过滤 筛选出符合条件的元素输出

    print([i for i in [1,2,3,4,5] if i % 2 == 0])    #[2, 4]
    
    def func1(x):return x % 2 == 0
    for i in filter(func1,[1,2,3,4,5]):
        print(i)
    # 结果:
    # 2
    # 4

      1.5 sorted 返回的是列表,形成一个新列表,并返回

          list.sort() 改变原列表

    l1 = [1,4,3,5,7,8]
    print(sorted(l1,))   #[1, 3, 4, 5, 7, 8]
    
    l = ['fsdafsa','fddsaf','qqq','fgasjdlg;dsjfg']
    def func1(x):
      return len(x)
    print(sorted(l,key=len))     #['qqq', 'fddsaf', 'fsdafsa', 'fgasjdlg;dsjfg']
    for i in sorted(l,key=func1):
        print(i)

    2.其余内置函数简介

      2.1 # any all

    print(any(['',1,0]))     #True        any至少存在一个元素为真,返回True  类似 or
    print(all(['',1,0]))     #False       all全部元素为真,返回True     类似 and

      2.2 ord 输入字符,返回unicode对应的编码位置

            chr 输入编码位置,返回unicode对应的字符

    # print(ord('a'))
    # print(ord('b'))
    # print(ord('中'))
    
    # 结果:
    # 97
    # 98
    # 20013
    
    print(chr(97))         #a
    print(chr(20013))      #
    print(ascii('a'))     #'a'
    print(ascii(''))    #u56fd

      2.3 %r     repr 原形毕露

    name = 'alex%r'%('sb')
    print(name)                 #alex'sb'
    print(repr('[1,2]'))       #'[1,2]'

      2.4 slice() 切片

    l1 = [11,22,33,44]
    print(l1[1::2])
    sl = slice(1,4,2)      #命名一个规则,之后在切片
    print(l1[sl])

      2.5 reversed() 形成一个新的迭代器.

    l1 = [11,33,22,44,'alex']
    l1.reverse()
    print(l1)      #['alex', 44, 22, 33, 11]   改变的是原列表,只能打印原列表
    l2 = reversed(l1)    #这是一个迭代器iterator
    for i in l2:
        print(i)

    二。匿名函数

    一般与内置函数配合使用

    格式:lambda x:x

    l1 = ['234','12','fsdafa','fdsagag']
    def func1(x):return x % 2 == 0
    for i in filter(func1,[1,2,3,4,5]):
        print(i)   # 2  4  
    for i in filter(lambda x:len(x) >= 3,['234','12','fsdafa','fdsagag']):
        print(i)  #  234  fsdafa  fdsagag
  • 相关阅读:
    虚拟主机导入MySQL出现Unknown character set: ‘utf8mb4’
    解决导入MySQL数据库提示"Unknown character set: 'utf8mb4'"错误
    织梦dedecms如何去除版权中的Power by DedeCms
    发送邮件常见出错代码及简单解决方法
    Hadoop集群配置(最全面总结)
    大数据下的数据分析平台架构
    跟上节奏 大数据时代十大必备IT技能
    Hive深入浅出
    深入解析:分布式系统的事务处理经典问题及模型(转载分享)
    数据分析≠Hadoop+NoSQL
  • 原文地址:https://www.cnblogs.com/zhuzhaoyang/p/8439340.html
Copyright © 2011-2022 走看看