zoukankan      html  css  js  c++  java
  • python_函数

    一.map

    遍历序列,对序列中每个元素进行操作,最终获取新的序列

     1 li = [11,22,33,44]
     2 new_list = map(lambda a: a + 100,li)
     3 print(new_list)
     4 print(list(new_list))
     5 
     6 #输出结果
     7 <map object at 0x00000000011742B0> 
     8 [111, 122, 133, 144]
     9 
    10 #第一个print打印得结果是new_list的内存地址,我们需要将new_list
    11 转换为list类型,才能看到结果

    二.filter

    对于序列中的元素进行筛选,最终获取到符合条件的序列

    li = [11,22,33,44]
    new_list = filter(lambda a: a >22,li)
    print(list(new_list))  #[33, 44]

    三:reduce

    对于序列内所有元素进行累计操作

     1 from functools import reduce
     2 li = [11,22,33,44]
     3 result = reduce(lambda arg1, arg2: arg1 + arg2,li)
     4 res = reduce(lambda arg1, arg2: arg1 + arg2,li, 100)
     5 print(result)   # 110
     6 print(res)  # 210  #参数末尾的100为默认参数,可指定,也可不指定,如果不指定就按照li列表中的元素,依次相加,如果指定默认参数为100,就按照100开始相加
     7 
     8 #reduce的第一个参数,函数必须要有两个参数
     9 #reduce的第二个参数,要循环的序列
    10 #reduce的第三个参数,初始值

    总结

     1 #map,filter,reduce,可以处理所有的数据类型
     2 name_dic = [
     3     {'name':'ying','age':28},
     4     {'name':'jack','age':50},
     5     {'name':'rain','age':10},
     6     {'name':'alex','age':70},
     7     {'name':'zcy','age':40},
     8 ]
     9 #利用filter过滤掉,年龄为50,70,40的
    10 
    11 def func(x):
    12     age_list = [70,50,40]
    13     return x['age'] not in age_list
    14 
    15 res = filter(func,name_dic)
    16 for i in res:
    17     print(i)
    18 #{'age': 28, 'name': 'ying'}
    19 #{'age': 10, 'name': 'rain'}
    20 
    21 
    22 result = filter(lambda x:x['age'] < 40,name_dic)
    23 print(list(result))
    24 #[{'age': 28, 'name': 'ying'}, {'age': 10, 'name': 'rain'}]
    25 
    26 #reduce用来计算1到100的和
    27 from functools import reduce
    28 print(reduce(lambda x,y:x+y,range(100),100))  #5050
    29 print(reduce(lambda x,y:x+y,range(1,101)))  # 5050
    30 
    31 #用map来处理字符串列表,把列表中所有人都变成sb,如alex_sb
    32 name = ['alex','jack','rain']
    33 res = map(lambda x:x+'_sb',name)
    34 print(list(res))
    35 #['alex_sb', 'jack_sb', 'rain_sb']

    四:内置函数

      1 #abs()   绝对值 ,正数的绝对值为它本身,负数的绝对值为它的正数,0的绝对值为0
      2 print(abs(9))  # 9
      3 print(abs(-8))  # 8
      4 print(abs(0))  # 0
      5 
      6 #all()判断所有的集合元素都为真是即为真,有一个元素为即为假
      7 list_test = [11,22,33,44,5]
      8 print(all(list_test))  # True
      9 list_test_two = ['',11,22,None,33,44,5]
     10 print(all(list_test_two))  # False
     11 
     12 #any()判断所有集合中的元素有一个为真就为真,若为空放回False
     13 list_test = ['',11,22,None,33,44,5]
     14 print(any(list_test))  # True
     15 list_test_two = []
     16 print(any(list_test_two))  # False
     17 
     18 #bool()判断真假
     19 #在python中,0,None,空(字典,列表,元组,字符串,集合)为假,其他都为真
     20 
     21 #ord()返回字符串对应的ASCII字符编码
     22 print(ord('y'))  # 121
     23 
     24 #bin()将十进制转换为二进制
     25 print(bin(10))  # 0b1010
     26 
     27 #oct()将十进制转换为八进制
     28 print(oct(9))  # 0o11
     29 
     30 #hex()将十进制转换为十六进制
     31 print(hex(10))  # 0xa
     32 
     33 #min() 取一个集合中最小的值
     34 list_test = [11,22,33,44,5]
     35 print(min(list_test))  # 5
     36 
     37 #max()取一个集合中最大的值
     38 print(max(list_test))  # 44
     39 
     40 #dir()不带参数时,返回当前范围内的内置函数,带参数时,返回该参数的属性和内置方法
     41 
     42 
     43 #int()把一个对象转换成整数也就是10进制
     44 int("111",base=2) #2进制转10进制   7
     45 int("567",base=8)  #8进制转10进制   375
     46  int("aa",base=16) #16进制转10进制  170
     47 int(10.123)  #转换成整数  10
     48 
     49 #divmod()获取商和余数
     50 print(divmod(10,3))  # (3, 1) 商3余1
     51 
     52 #eval(),返回对象本身
     53 print(eval('10'+'10'))  # 1010
     54 print(eval('10 + 10'))  # 20
     55 
     56 #id()返回一个对象的内存地址
     57 list_test = [11,22,33,44,5]
     58 print(id(list_test))  # 10834184
     59 
     60 #len()返回一个对象的长度
     61 list_test = [11,22,33,44,5]
     62 print(len(list_test))  # 5
     63 
     64 #frozenset()冻结集合,让其不运行修改
     65 list_test = [11,22,33,44,5]
     66 print(frozenset(list_test))  # frozenset({33, 11, 44, 5, 22})
     67 
     68 
     69 #range()产生一个序列
     70 print(range(1,10))  # range(1, 10)
     71 
     72 # reversed() 反转
     73 list_test = [11,22,33,44,5]
     74 print(list(reversed(list_test)))  # [5, 44, 33, 22, 11]
     75 
     76 #round()四舍五入
     77 print(round(3.5))  # 4
     78 print(round(3.2))  # 3
     79 
     80 #sorted()集合排序
     81 list_test = [11,22,33,44,5]
     82 print(sorted(list_test))  # [5, 11, 22, 33, 44]
     83 
     84 #sum()求和
     85 list_test = [11,22,33,44,5]
     86 print(sum(list_test))  # 115
     87 print(sum(range(1,100)))  # 4950
     88 
     89 #type()返回该对象的类型
     90 list_test = [11,22,33,44,5]
     91 print(type(list_test))  # <class 'list'>
     92 
     93 #zip()压缩,zip函数接收任意多个序列做为参数,返回一个元组,列表
     94 l1    =    ["alex",22,33,44,55]
     95 l2    =    ["is",22,33,44,55]
     96 l3    =    ["good",22,33,44,55]
     97 l4    =    ["guy",22,33,44,55]
     98 result = zip(l1,l2,l3,l4)
     99 print(list(result))
    100 print(type(result))
    101 
    102 #[('alex', 'is', 'good', 'guy'), (22, 22, 22, 22), (33, 33, 33, 33), (44, 44, 44, 44), (55, 55, 55, 55)]
    103 #<class 'zip'>

     五:三元运算

    result = 值1 if 条件 else 值2
    
    #如果条件为真:result = 值1
    #如果条件为假: result = 值2
    

      

  • 相关阅读:
    OCM_第十四天课程:Section6 —》数据库性能调优_各类索引 /调优工具使用/SQL 优化建议
    OCM_第十三天课程:Section6 —》数据库性能调优 _结果缓存 /多列数据信息采集统计/采集数据信息保持游标有效
    OCM_第十二天课程:Section6 —》数据库性能调优_ 资源管理器/执行计划
    使用NuGet时的一个乌龙
    .net调用存储过程碰到的一个问题
    数据库的备份与还原
    创建link server链接服务器碰到的问题及解决办法
    如何管理好项目的DLL
    项目中Enum枚举的使用
    .NET开发知识体系
  • 原文地址:https://www.cnblogs.com/YingLai/p/6126182.html
Copyright © 2011-2022 走看看