zoukankan      html  css  js  c++  java
  • 一部分内置函数

    内置函数的整理:
    def func(n):
        return n**n
    print(func(4))
    f =lambda x:x**x
    print(f)
    匿名函数 lambda 参数:返回值
    f=lambda x,y,c:(x,y,c)
    print(f(1,2,3))
    
    排序 语法  sorted(iterable,key=None,regverse=False)
    计算字符串的长度
    lst=['as','sdf','asdf','gfd']
    def func():
        print(sorted(lst,key=func))
    lst = ['天龙八部', '西游记', '红楼梦', '三国演义']
    print(sorted(lst, key=lambda s: len(s)>3))
    
    筛选过滤
    
    语法: filter(function,iterable)
    根据条件去筛选
    lst = [{'id': 1, 'name': 'alex', 'age': 18},
          {'id': 1, 'name': 'wusir', 'age': 17},
          {'id': 1, 'name': 'taibai', 'age': 16}, ]
    
    ls = filter(lambda e: e['age'] > 16, lst)
    print(list(ls)
    结果:
    [{'id': 1, 'name': 'alex', 'age': 18},
     {'id': 1, 'name': 'wusir', 'age': 17}]
    映射函数 map     map(function,iterable)
    可以对可迭代对象中的每个元素进行映射
    lst1 = [1, 2, 3, 4, 5]
    lst2 = [2, 4, 6, 8, 10]
    print(list(map(lambda x, y: x + y, lst1, lst2)))
    结果:
    [3, 6, 9, 12, 15]
    reduce   累积算法
    from functools import reduce
    def func(x, y):
        return x * 10 + y
        第一次的时候 x是1 y是2  x乘以10就是10,然后加上y也就是2最终结果是12然后临时存储起来了
        第二次的时候x是临时存储的值12 x乘以10就是 120 然后加上y也就是3最终结果是123临时存储起来了
        第三次的时候x是临时存储的值123 x乘以10就是 1230 然后加上y也就是4最终结果是1234然后返回了
    l = reduce(func, [1, 2, 3, 4])
    print(l)
    
    l = reduce(lambda x,y:x*10+y,[1,2,3,4])
    print(l)
    
    enumerate() 获取枚举对象
    lst = ['alex','wusir','taibai']
    for i,k in enumerate(lst):
        print('这是序号',i)
        print('这是元素',k)
    
    zip() 函数用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元祖,
    然后返回由这些元祖组成的内容,如果各个迭代器的元素个数不一致,则按照长度最短的返回
    拉链的意思
    lst1 = [1,2,3]
    lst2 = ['a','b','c','d']
    lst3 = (11,12,13,14,15)
    for i in zip(lst1,lst2,lst3):
        print(i)
    结果:
    (1, 'a', 11)
    (2, 'b', 12)
    (3, 'c', 13)
    
    lst=[2,3,4,5]
    lst1=[3,4,5,6]
    print(list(map(lambda x,y:x+y,lst,lst1)))#[5, 7, 9, 11]map函数映射
    from functools import reduce#reduce  累  算
    lst=[2,3,4]
    print(reduce(lambda x,y:x*y,lst))#2*3*4  ==24
    
    def foo(x):
        if x['age']>17:
            return x
    ls=[{'name':'哥哥','age':18},{'name':'哥哥','age':12}]
    print(filter(lambda x:x['age']>17,ls))  #没有用list 就是一个对象打印不出来<filter object at 0x0000000002417E80>   fillter 筛选
    print(list(filter(lambda x:x['age']>17,ls))) #这样才可以打印出来
    
    lst=['asd','sdfdg','s']
    print(sorted(lst,key=lambda x:len(x)))#按长度去排序,这是升序
    dic={1:2,2:3}
    print(sorted(dic.values(),reverse=True))  #按键去排序  倒序
    
    
    装饰器
    import time
    def inner(f):#----装饰器函数
        def waper(*args,**kwargs):
            s=time.time()
            f(*args,**kwargs)#---被装饰 函数
            d=time.time()
            print(s-d)
        return waper
    @inner#@inner#
    def func(*args,**kwargs):
        print('a',args)
    # func=inner(func)
    func(1,2,3,4)
  • 相关阅读:
    转:每个架构师都应该研究下康威定律
    使用OpenShiftFQ上外网
    关系模式设计
    数据库应用系统工程过程
    数据库系统
    四种常见 Git 工作流比较
    Git 进阶指南
    C#高性能TCP服务的多种实现方式
    浮动广告
    <span></span>
  • 原文地址:https://www.cnblogs.com/LMTlmt/p/10269387.html
Copyright © 2011-2022 走看看