码迷,mamicode.com
首页 > 其他好文 > 详细

内置函数02

时间:2018-09-21 00:33:31      阅读:222      评论:0      收藏:0      [点我收藏+]

标签:一个   排列   思想   调用   效率   之间   nbsp   倒序   多个参数   

内置函数二:

  1. λ匿名函数

    lambda 参数 : 返回值

      1.函数的参数可以有多个.多个参数之间用逗号隔开

      2.匿名函数不管多复杂,只能写一行,且逻辑结束后直接返回数据

      3.返回值和正常函数一样,可以使任意数据类型.

    例如:

      def fang(x):

        return x**2

      ret = fang(5)

      print(ret)

      zrf = lambda x:x**2 # 匿名函数 lambda 参数返回值

      ret = zrf(10)

      print(ret)

给参数传递两个参数a,b 返回a+b的结果

  a = lambda a,b a+b

  print(a(100,500))

2. sorted 排序

  语法: sorted(iterable,key = None.reverse = False)

    iterable:可迭代对象

    key: 排序规则(排序函数),在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数.根据函数运算的结果进行排序.

    reverse:是否倒序.True 倒序,False 正序

    例如:

      lst = [1,2,3,4,5]

      lst2= sorted(lst)

      print(lst) # 原列表不会改变

      print(lst2) # 新列表是经过排序的

      和lambda组合使用:

      lst = [‘麻花藤‘,‘岸本齐史‘,‘食品与药品监督局‘,‘许仙‘]

      def func(s):

        return len(s)

      print(sorted(lst,key = lambda s : len(s)))

3. filter 筛选

    语法: filter(func,iterable)

      流程: 把可迭代对象中的每一个元素拿出来,放到func中运行.返回True/False.根据返回的True和False来决定这个数据是否保留

    例如:

      lst = [1,2,3,4,5,6,7]

      l1 = filter(lambda x: x%2 == 0,lst) # 筛选所有的偶数

      print(l1)

4. map 映射

    语法: map(func, iterable)

      流程:把可迭代对象中的每一个元素拿出来,放到func中运行.返回数据就是结果.

      例如:

        def func(e):

          return e*e

      mp = map(func,[1,2,3,4,5])

      print(list(mp))

    可改写成print(list(map(lambda x : x*x,[1,2,3,4,5])))

 

    计算两个列表相同位置数据的和:

    lst= [1,2,3,4,5]

    lst2= [1,2,3,4,5]

    print(list(map(lambda x,y:x+y,lst,lst2)))

5. 递归(难点)

  可以用来遍历各种树形结构,比如文件夹系统 可以使用递归来遍历该文件夹中所有文件.

  特点

    自己调用自己

    递归的出口: return

    递归的循环条件:动

6.二分法查值:

  前提:可迭代对象有序排列

  核心思想 掐头截尾取中间 查询效率非常高

 

内置函数02

标签:一个   排列   思想   调用   效率   之间   nbsp   倒序   多个参数   

原文地址:https://www.cnblogs.com/f-g-f/p/9684102.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!