• 内置函数二


    1.内置函数(二)

    #与数据结构相关

    列表和元组:

    list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素)。

    tuple:将一个可迭代对象转化成元祖(如果是字典,默认将key作为元祖的元素)。

    l = list((1,2,3))
    print(l)
    tu = tuple({'k1':1,'k2':2})
    print(tu)

    #相关内置函数

    reversed:将一个序列反转,并返回此翻转序列的迭代器。

    L1 = [1,2,3,4]
    s1 = 'sdadasdasw'
    dic = {'name':'alex','age':1000,'hobby':'oldwomen'}
    print(reversed(L1))
    for i in reversed(L1):
        print(i)
    for i1 in reversed(s1):
        print(i1)
    for i2 in reversed(dic):
        print(i2)

    slice:构造一个切片对象,用于列表的切片。

    l1 = [i for i in range(10)]
    l2 = l1[0:6:2]
    print(l2)
    l3 = [i for i in range(10,20)]
    sli_obj = slice(0,5,2)
    print(l3[sli_obj])

    #字符串相关

    str:将数据转化成字符串。

    format:与具体数据相关,用于计算各种小数,精算等

    print(format('text','<20'))
    print(format('text','>20'))
    print(format('text''^20'))

    bytes:用于不同编码之间的转化。

    s = '你好'
    bs = bytes(s,encoding='utf-8')
    print(bs)
    b = '你好'.encode('gbk')
    b1 = b.decode('gbk')
    print(b1.encode('utf-8'))

    bytearry:返回一个新字节数组。这个数组里的元素是可变的,并且每个元素的值范围: 0 <= x < 256。

    ret = bytearray('alex',encoding='utf-8')
    print(id(ret))
    print(ret)
    print(ret[0])
    ret[0] = 65
    print(ret)
    print(id(ret))

    memoryview

    ret = memoryview(bytes('你好',encoding='utf-8'))
    print(len(ret))
    print(ret)
    print(bytes(ret[:3]).decode('utf-8'))
    print(bytes(ret[3:]).decode('utf-8'))

    ord:输入字符找该字符编码的位置

    chr:输入位置数字找出其对应的字符

    ascii:是ascii码中的返回该值,不是就返回/u...

    print(ord('a'))
    print(ord(''))
    print(chr(97))
    print(chr(20013))
    print(ascii('a'))
    print(ascii(''))

    repr:返回一个对象的string形式(原形毕露)。

    print('alex')
    print(repr('alex'))

    #数据集合:

    dict:创建一个字典。

    set:创建一个集合。

    frozenset:返回一个冻结的集合,冻结后集合不能再添加或删除任何元素。

    #相关内置函数

    len:返回一个对象中元素的个数。

    sorted:对所有可迭代的对象进行排序操作。*****

    l1 = [2,3,5,3,1,9,8,6]
    l1.sort()
    print(l1)
    print(sorted(l1))
    l2 = [(1,1000),(2,18),(4,250),(3,500)]
    def func(x):
        return x[1]
    print(sorted(l2,key=func))

    enumerate:枚举,返回一个枚举对象。

    print(enumerate([1,2,3]))
    for i in enumerate([1,2,3]):
        print(i)
    for i in enumerate([1,2,3],100):
        print(i)

    all:可迭代对象中,全都是True才是True

    l1 = [1,'',[1,3],(2,4)]
    print(all(l1))

    any:可迭代对象中,有一个True 就是True

    print(any([1, 0, '', ()]))

    zip:函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。

    l1 = [1,2,3,5,6,7]
    tu1 = ('alex','太白', 'wusir', '女神')
    dic = {'name': '日天', 'age':28, 'hobby': 'tea', 'weight':100}
    print(zip(l1,tu1,dic))
    for i in zip(l1,tu1,dic):
        print(i)
    zip

    filter:过滤·。

    l1 = [i for i in range(10)]
    def func1(x):
        return x%2==0
    print(list(filter(func1,l1)))

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

    l1 = [1,2,3,4]
    def func(x):
        return x**2
    print(list(map(func,l1)))

    2.匿名函数

    匿名函数:为了解决那些功能很简单的需求而设计的一句话函数。lambda表达式

    a = lambda x:x**2
    print(a(6))

    匿名函数不单独使用,多与内置函数结合

    m = [1,5,7,4,8]
    print(list(map(lambda x:x*2,m)))

     3.递归函数

    递归函数:在一个函数里在调用这个函数本身

    递归的最大深度:998

    def foo(n):
        print(n)
        n +=1
        foo(n)
    foo(1)
    import sys
    print(sys.setrecursionlimit(100000))
    def age(n):
        if n == 1:
            return 40
        else:
            return age(n-1)+2
    print(age(4))
  • 相关阅读:
    apple Safari input text 的兼容问题
    移动开发不能不知道的事-关于点击元素时出现的阴影
    移动开发不能不知道的事- css3复选框样式自定义
    移动开发不能不知道的事-中西文字体
    移动开发不能不知道的事-dp
    猴子吃桃
    3个数排序
    求10!
    一个简单的求和程序
    输出一个三角形
  • 原文地址:https://www.cnblogs.com/caoshitong/p/9518786.html
Copyright © 2020-2023  润新知