高级函数

  • map

    • 格式:map(func, lt)

    • 说明:接受两个参数,一个函数和一个可迭代对象,返回一个生成器,将func依次作用于lt

    • 示例:

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

      def double(x):
         return 2 * x

      # m = map(double, l)
      m = map(lambda x:x*x, l)

      # for i in m:
      #     print(i)

      # print(list(m))

      l2 = []

      for i in l:
         l2.append(double(i))

      print(l2)
  • 练习:

    • 处理一个元素为字符串的列表,要求将字符串两边的空白去掉,然后首字母大写

  • reduce

    • 格式:reduce(func, lt)

    • 说明:接受两个参数,一个函数和一个可迭代对象,首先取两个元素,使用func处理,结果和第三个元素继续使用func处理,直到结束,返回处理的结果

    • 示例:

      from functools import reduce

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

      # 求和
      print(reduce(lambda x, y:x+y, l))

      # 转换为12345
      print(reduce(lambda x, y:x*10+y, l))
    • 练习:

      • 求列表中所有元素的乘积

  • filter

    • 格式:filter(func, lt)

    • 说明:使用func依次作用于每个元素,处理结果为True保留下来

    • 示例:

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

      # 提取偶数
      f = filter(lambda x:x%2==0, l)

      print(list(f))
    • 练习:

      • 提取奇数,并且能被3整除的元素

  • sorted

    • 说明:排序,与我们自己写的相同,除了生成新的对象

    • 示例:

      # l = [2,5,9,1,6,3]
      l = [
        {'name':'xiaowang', 'age':18,'height':150},
        {'name':'xiaogang', 'age':20,'height':140},
        {'name':'xiaohong', 'age':19,'height':145},
      ]

      l2 = sorted(l, key=lambda x:x['age'], reverse=True)

      print(l)
      print(l2)

python 高级函数的更多相关文章

  1. Python—高级函数

    Python-高级函数 一.闭包 Python函数是支持嵌套的.如果在一个内部函数中对外部函数作用域(非全局作用域)的变量进行引用,那么内部函数就会被称为闭包.闭包需要满足如下3个条件: 存在于两个嵌 ...

  2. python高级函数

    1 函数 1.1 函数即变量 函数定义:把一个函数体作为变量赋值给一个函数名,同时函数体存放到内存中. 函数调用:根据函数名去内存中寻找对用的函数体,找到了就执行. >>> def ...

  3. Python高级函数--map/reduce

    名字开头大写 后面小写:练习: def normalize(name): return name[0].upper() + name[1:].lower() L1 = ['adam', 'LISA', ...

  4. Python高级函数--filter

    def is_palindrome(n): return str(n) == str(n)[::-1] #前两个‘:’表示整个范围,‘-’表示从后面,‘1’表示数据间隔 output = filter ...

  5. python高级之函数

    python高级之函数 本节内容 函数的介绍 函数的创建 函数参数及返回值 LEGB作用域 特殊函数 函数式编程 1.函数的介绍 为什么要有函数?因为在平时写代码时,如果没有函数的话,那么将会出现很多 ...

  6. 第一篇:python高级之函数

    python高级之函数   python高级之函数 本节内容 函数的介绍 函数的创建 函数参数及返回值 LEGB作用域 特殊函数 函数式编程 1.函数的介绍 为什么要有函数?因为在平时写代码时,如果没 ...

  7. Python函数式编程(一):高级函数

    首先有一个高级函数的知识. 一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数. def add(x, y, f): return f(x) + f(y) 当我们调用add(-, , abs ...

  8. Day11 Python基础之装饰器(高级函数)(九)

    在python中,装饰器.生成器和迭代器是特别重要的高级函数   https://www.cnblogs.com/yuanchenqi/articles/5830025.html 装饰器 1.如果说装 ...

  9. python高级特性和高阶函数

    python高级特性 1.集合的推导式 列表推导式,使用一句表达式构造一个新列表,可包含过滤.转换等操作. 语法:[exp for item in collection if codition] if ...

随机推荐

  1. 【原】vue-router中params和query的区别

    1.引入方式不同 query要用path来引入 this.$router.push({ path: 'test', query: { type: 2, detail: '哈哈' } }) params ...

  2. LC 357. Count Numbers with Unique Digits

    Given a non-negative integer n, count all numbers with unique digits, x, where 0 ≤ x < 10n. Examp ...

  3. JSTL标签(核心标准库)

    使用JSTL标签步骤 1) 导入jstl支持的jar包(标签背后隐藏的java代码) 注意:使用javaee5.0的项目自动导入jstl支持jar包 2)使用taglib指令导入标签库 <%@t ...

  4. Session技术入门代码案例

    package com.loaderman.demo; import javax.servlet.ServletException; import javax.servlet.http.*; impo ...

  5. Java 谷歌浏览器开发必备插件

    1.谷歌访问助手 下载网址:http://www.ggfwzs.com/ 2.Json Viewer 格式化请求接口,返回Json数据格式,可以在浏览器展示 3.Restlet client 一种类似 ...

  6. linux/windows/Mac平台生成随机数的不同方法

    linux平台,使用rand.Seed() //rand_linux.go package main import ( "math/rand" "time" ) ...

  7. php文件夹上传下载控件分享

    用过浏览器的开发人员都对大文件上传与下载比较困扰,之前遇到了一个php文件夹上传下载的问题,无奈之下自己开发了一套文件上传控件,在这里分享一下.希望能对你有所帮助. 以下是实例的部分脚本文件 这里我先 ...

  8. 14 count(*)

    14 count(*) count(*)实现方式 首先要声明,在不同的mysql引擎中,count(*)有不同的实现方式. --myisam引擎把一个表的总行数存在了磁盘,因此执行count(*)的时 ...

  9. jQuery选择:子代元素与后代元素的区别

    (1)后代元素:html代码如下,那么在jquery选择时,$(".test img"),中间为空格,则是选取后代元素,img对于ul来说是孙子辈元素,中间隔了li元素,所以后代元 ...

  10. java读取blob,clob转换为字符串

    直接上代码: package com.it.test; import java.io.BufferedReader; import java.io.StringWriter; import java. ...