zoukankan      html  css  js  c++  java
  • 内置函数2

    五星函数*****
    print() sum reversed
    key : min max map sorted filter zip

    1.和数据结构相关:

      列表和元祖:

        list,将一个可迭代对象转化为列表,如字典转化为列表(默认键字典的键转化)

        tuple,将一个迭代对象转化为元祖,如字典转化为元祖(默认键字典的键转化)

        reversed 将一个序列翻转,并返回翻转后的序列的迭代器*****

    s = ['a','b','c','d']
    a = reversed(s)
    for i in range(4):
        print(next(a))
    

      slice :构造一个切片对象,用于切片 ***

    s = [1,2,34,56,7,8,9,0,9]
    a = slice(1,5,2)
    print(s[a])
    

      str:将数据转化为字符串

      format,可用于格式化输出外,还可以用于计算小数,精算等**

    print(format('test','<10'))
    print(format('test','>10'))
    print(format('test','^10'))
    

      bytes, unicode转化bytes类型****

    a1 = '黎明'
    print(a1.encode('utf-8'))
    print(a1.encode('utf-8').decode('utf-8'))
    

      

    a2 = '李明'
    b2 = bytes(a2,encoding='utf-8')
    print(a2)
    

    2.repr返回一个对象的string形式(原型毕露)*****

    print('黎明')
    print(repr('黎明'))
    print(repr("{'黎明':'sf'}"))
    print(repr('人生%s年' % repr('千')))
    

    3.sorted :对可迭代对象进行序列排序,形成一个新列表,原列表不变(可迭代对象需要时同一种数据类型)。 *****

    s = ['w','e','r']
    # s = [1,2,34,5,6,78]
    print(sorted(s))
    print(s)
    d = sorted(s)
    print(d)
    print(s)
    

      

    l2 = [(1,1000),(2,18),(4,250),(3,500)]
    print(sorted(l2))
    def num(x):
        return x[1]
    print(sorted(l2,key=num))
    

    多条件判断:all,any

      all:可迭代对象中,全部为True 才是true

      any:可迭代对象中,有一个True,为true

    l1 = [1,2,3,44,(),]
    print(all(l1))
    print(any(l1))
    

    4.zip,将多个iter,每一个纵向组成一个元祖,并返回iter,以最短的为标准 *****

      

    l1 = [1,2,3,6,7]
    tu1 = ('s','d', 'd', 'f')
    dic = {'天': '天1', '地':'地1', '人': '人1'}
    print(zip(l1,tu1,dic))
    print(list(zip(l1,tu1,dic)))
    for i in zip(l1,tu1,dic):
        print(i)
    

    filter :过滤,迭代器*****

    l = [ i for i in range(12)]
    def num(x):
        return x % 2 == 1
    print(list(filter(num,l)))
    

     map:会根据提供的函数对指定序列做映射,循环模式:

    l = [1,23,4,5,6,7,8]
    print([i**2 for i in l])
    l = [i**2 for i in l]
    print(l)
    def num(x):
        return x**2
    print(set(map(num,l)))
    print(list(map(num,l)))
    print(tuple(map(num,l)))
    

      

    5.匿名函数:lambda表达式

      普通函数,有且只有return的函数才可以用匿名函数优化,一行代码

    def num(x):
        return x**2
    
    num = lambda x:x**2
    

     匿名函数一般跟内置函数配合使用

    print(sorted([(1,1000),(2,18),(4,250),(3,500)],key=lambda x:x[1]))
    

    6,:递归函数:默认递归深度998

    def num(x):
        print(x)
        x += 1
        num(x)
    num(1)
    

      设置递归次数:

    import sys
    sys.setrecursionlimit(10000)
    def num(x):
        print(x)
        x += 1
        num(x)
    num(1)
    

      

  • 相关阅读:
    HDOJ 1846 Brave Game
    并查集模板
    HDU 2102 A计划
    POJ 1426 Find The Multiple
    POJ 3278 Catch That Cow
    POJ 1321 棋盘问题
    CF 999 C.Alphabetic Removals
    CF 999 B. Reversing Encryption
    string的基础用法
    51nod 1267 4个数和为0
  • 原文地址:https://www.cnblogs.com/lijinming110/p/9518972.html
Copyright © 2011-2022 走看看