zoukankan      html  css  js  c++  java
  • python函数知识六 内置函数二、匿名函数与内置函数三(重要)

    19.内置函数二

    1. abs():绝对值
    lst = [1,2,-3,1,2,-5]
    print([abs(i) for i in lst])
    
    1. enumerate("可迭代对象","序号起始值"):枚举获取键和值,起始值默认为0
    lst [1,2,-3,1,2,-5]
    print([i for i in enumerate(lst)])
    print(i for i in enumerate(lst,10))
    
    1. max():求最大值,放可迭代对象
    2. min():最小值
    3. sum(list,tuple,set):求和,可指定起始值
    4. range():范围
    5. print(sep = ":",end=" "):sep-->多个元素的连接符,end-->默认为
    print(123,file = open('1.txt','w'))#输出到文件内
    
    1. list:
    print(list('alex'))#结果是迭代出来的
    
    1. dict:
    print(dict(key = 1, a = 'alex'))#结果{'key':1,'a':'alex'}
    
    #面试:定义
    print(dic(((1,2),(2,3),(3,4))))
    
    print(dict([i for i in enumerate(range(20),1)]))
    
    1. zip():拉链,按照最少的合并,按索引合并,字典是按键合并,与值无关
    lst1 = [1,2,3,4,5]
    lst2 = ['a','b','c','d','f']
    lst3 = ["alex",'ewr',"你好",""]
    lst4 = {'k1':1,'k2':2}
    print(list(zip(lst1,lst2)))
    
    print(dict(list(zip(lst1,lst2))))#面试
    print(dict(zip(lst1,lst2)))
    
    print(list(zip(lst1,lst2,lst3)))
    
    print(list(zip(lst4,lst1)))
    
    1. dit():查看当前函数的方法
    print(dir(list))
    
    g = range(0,10)
    from collections import Iterable,Iterator
    print(isinstance(g,Iterable))#判断是否是可迭代对象
    print(isinstance(g,Iterator))#判断是否是迭代器
    

    20.匿名函数与内置函数三(重要)

    重要的内置函数和匿名函数

    1.匿名函数:

    lambda -->定义函数(一行函数),x,y 形参 x+y 返回值,只能返回一个数据类型。形参可以不写,返回值必须写

    匿名函数的名字叫做lambda

    f = lambda x, y:x+y
    print(f(1,2))
    
    f = lambda x, y:(x,y)
    print(f(1,2))
    print(f.__name__())#函数名就叫做lambda
    
    print(lambda x:x)#结果:内存地址
    print((lambda x:x)(2))#调用函数
    
    #面试1
    print([lambda i:i*i for i in range(10)])#返回十次匿名函数的内存地址
    lst = [lambda i:i*i for i in range(10)]
    print(lst[2](2))
    #解构
    lst = []
    for i in range(10):
        def func(i):
            return i*i
        lst.append(func)
    print(lst[2](3))#结果 9
    
    #2.不写形参
    lst = [lambda :i*i for i in range(10)]
    print(lst[2]())
    #解构
    lst = []
    for i in range(10):
        def func():
            return i*i
        lst.append(func)
    print(lst[2]())#结果 81
    
    #
    lst = (lambda i:i*i for i in range(5))#报错
    print((lambda i:i*i for i in range(5)))#生成器的地址
    
    #
    

    2.内置函数三(重要)

    1. format()
    print(format(13,">20"))#右对齐
    print(format(13,"<20"))#左对齐
    print(format(13,"^20"))#居中
    print(format(13,"b"))#二进制
    
    #进制,8位显示
    print(format(13,"08b"))#二进制
    print(format(13,"08d"))#十进制
    print(format(13,"08o"))#八进制
    print(format(13,"08x"))#十六进制
    
    1. filter("函数","可迭代对象"):过滤,写函数的时候,可指定过滤条件
    lst = [1,2,3,4,5,6]
    def func(s):
        return s>3
    print(filter(func,lst))#返回对象内存地址
    print(list(filter(func,lst)))#返回lst中>3的值   func就是定义的条件,lst是迭代对象
    #用lambda
    print(list(filter(lambda x:x>3,lst)))
    
    1. map():对象映射,对可迭代对象中的每个元素进行加工
    print(map(lambda x:x+1,[1,2,3,4,8,5]))#返回地址
    print(list(map(lambda x:x+1,[1,2,3,5,4,6])))#
    
    1. reversed():反转,原数据没变
    2. sorted():排序,key,指定排序规则--不用list转换
    s1 = "alex"
    print(reversed(s1))#结果为内存地址
    print(list(reversed(s1)))#结果:['x', 'e', 'l', 'a']
    
    lst = [1,2,3,4,5]
    lst.reverse()
    print(s1)
    
    lst1 = list(reversed(lst))
    print(lst)
    print(lst1)
    
    lst = [1,2,36,4,8]
    print(sorted(lst))
    print(lst)#原数据不变
    #降序
    print(sorted(lst,reverse=Treu))
    #key
    dic = {'k1':1,'k2':3,'k3':56}
    print(sorted(dic,key=lambda x:dic[x],reverse=True))
    #key指定查找最大值时的规则
    print(max([1,2,-33,5],key=abs))
    
    1. reduce():累计算,面试
    from functools import reduce
    print(reduce(lambda x,y:x+y,[1,2,3]))
    

  • 相关阅读:
    计算机硬件介绍
    SC-控制Windows服务的命令
    SQL Server 2008中的Service SID 介绍
    内置系统账户:Local system/Network service/Local Service 区别
    用于sql server启动的账户
    sql server常见服务
    oracle和sql server的区别(1)
    架构设计学习(一)
    web项目分层设计
    封装继承多态
  • 原文地址:https://www.cnblogs.com/Onlywang/p/11234155.html
Copyright © 2011-2022 走看看