匿名函数

# 匿名函数
func = lambda x: x + 1 # x表示参数 x+1表示处理逻辑
print(func(10)) # 输出结果为11 # 例:如何将name="hanhan" 改为 hanhan_shuai的形式 # 普通函数写法
name = "hanhan" def change_name(x):
return name + '_shuai' res = change_name(name)
print(res) # 输出结果 hanhan_shuai # 匿名函数写法 fun = lambda x: x + '_shuai'
print(fun(name)) # 输出结果 hanhan_shuai # 匿名函数也可以返回多个值 f = lambda x, y, z: (x + 1, y + 1, z + 4)
print(f(1, 2, 3)) # 输出结果 (2, 3, 7)

reduce函数

# 利用reduce函数完成列表中元素的累加
num = [1, 2, 3, 4, 5]
# 用之前要先导入
from functools import reduce # reduce(function, sequence[, initial]) -> value
res = reduce(lambda x, y: x + y, num, 1) # 第一个参数是函数
res1 = reduce(lambda x, y: x + y, num, 0) # 第二个是逻辑运算,第三个是起始值
res2 = reduce(lambda x, y: x + y, num) # 默认为0
print(res) # 输出结果 16
print(res1) # 输出结果 15
print(res2) # 输出结果 15

filter函数

#例:将看电影列表人中过滤掉以‘sb’结尾的名字,用filter实现。

# filter(function or None, iterable) --> filter object
movie_people = ['alex_sb', 'wupeiqi_sb', 'linhaifeng', 'yuanhao_sb']
li = filter(lambda n: not n.endswith('sb'), movie_people)
print(list(li)) # 输出结果 ['linhaifeng']

map函数

# map函数  map(func, *iterables) --> map object
# 用map实现将列表中的值叠加1
num = [1, 2, 3, 4, 5]
res = map(lambda x: x + 1, num) # map第一个参数为处理方法,第二个参数为可迭代对象
print(res)
# for i in res:
# print(i)
print(list(res)) # 输出结果 [2, 3, 4, 5, 6] # 用map实现将小写转大写 st = "hanhanshigeshuaige" res1 = map(lambda x: x.upper(), st)
print(list(res1))

一些常用的内置函数

print(abs(-1))  # 取绝对值

print(bin(20))  # 将十进制转换为二进制
print(hex(12)) # 10进制->16进制
print(oct(12)) # 10进制->8进制 name = '憨憨好'
print(bytes(name, encoding='utf-8')) # 将字符串转换为字节
print(bytes(name, encoding='utf-8').decode('utf-8')) # 解码 将字节转化为字符串

总结

# map() 处理序列中的每个元素,得到的结果是一个‘列表’,读‘列表’元素个数及位置与原来一样

# filter() 遍历序列中的每个元素,判断每个元素得到布尔值,如果是True就留下来。

# reduce() 处理一个序列,然后把序列进行合并操作 

Python学习第九课——匿名函数的更多相关文章

  1. 记录我的 python 学习历程-Day13 匿名函数、内置函数 II、闭包

    一.匿名函数 以后面试或者工作中经常用匿名函数 lambda,也叫一句话函数. 课上练习: # 正常函数: def func(a, b): return a + b print(func(4, 6)) ...

  2. Python学习笔记010——匿名函数lambda

    1 语法 my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1 arg1.arg2:参数 arg1 + arg2 + 1 :表达式 2 描述 匿名函数不需要r ...

  3. python学习之lambda匿名函数

    1 Python支持运行时使用“lambda”建立匿名函数(anonymous functions that are not bound to a name). python "lambda ...

  4. python 学习笔记2 匿名函数

    # 匿名函数 lambda a,b : a+b# a.j.from functools import reduce students = [{'name': '张三', 'age': 18, 'hei ...

  5. 【C语言探索之旅】 第一部分第九课:函数

    内容简介 1.课程大纲 2.第一部分第九课:函数 3.第一部分第十课预告: 练习题+习作 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. ...

  6. 初学 Python(十三)——匿名函数

    初学 Python(十三)--匿名函数 初学 Python,主要整理一些学习到的知识点,这次是匿名函数. # -*- coding:utf-8 -*- #关键字lambda定义的函数都是匿名函数 #做 ...

  7. python学习第九讲,python中的数据类型,字符串的使用与介绍

    目录 python学习第九讲,python中的数据类型,字符串的使用与介绍 一丶字符串 1.字符串的定义 2.字符串的常见操作 3.字符串操作 len count index操作 4.判断空白字符,判 ...

  8. Elasticsearch7.X 入门学习第九课笔记-----聚合分析Aggregation

    原文:Elasticsearch7.X 入门学习第九课笔记-----聚合分析Aggregation 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. ...

  9. Python练习题-1.使用匿名函数对1~1000求和,代码力求简洁。

    Python 练习 标签(空格分隔): Python Python练习题 Python知识点 一.使用匿名函数对1~1000求和,代码力求简洁. 答案: In [1]: from functools ...

随机推荐

  1. pycharm连接数据库报错Access denied for user 'root'@'localhost' (using password:YES),以及wampserver 2/3个服务器正在运行 问题

    使用mysql版本为mysql5.7,参考下列 https://blog.csdn.net/qq_32969455/article/details/79051932 https://blog.csdn ...

  2. 获取 python linux Home目录

    #! /usr/bin/python # -*- coding: utf-8 -*- import os print os.environ['HOME'] print os.path.expandva ...

  3. 操作系统OS - 阻塞(Blocking)非阻塞(Non-Blocking)与同步(Synchronous)异步(Asynchronous)

    参考: http://blog.jobbole.com/103290/ https://www.zhihu.com/question/19732473/answer/23434554 http://b ...

  4. 吴裕雄 python 神经网络——TensorFlow训练神经网络:MNIST最佳实践

    import os import tensorflow as tf from tensorflow.examples.tutorials.mnist import input_data INPUT_N ...

  5. Redis数据存储结构之String

    前言: 在Redis使用中,我们最常使用的操作是set key value,或 get key value .这里面包含了redis最基本的数据类型:String,字符串类型是redis中最基本的类型 ...

  6. 二十二、mysql 执行计划与存储引擎

    1.explain(执行计划)中涉及的各字段理解1.1) select_type列的取值及含义:    SIMPLE                 :简单的SELECT语句(不包括UNION操作或子 ...

  7. Python安装numpy,pandas慢,超时报错,下载不了的解决方法

    由于python的默认源是国外的,所以下载的时候会很慢,甚至会出现超时下载失败,提供两个解决方法 1.设置pip的超时限制 打开cmd 输入pip --default-timeout=100 inst ...

  8. js中字符串转json对象时报错: Uncaught SyntaxError: Unexpected token s in JSON at position 2

    解决方法: js中获取jsp的返回值 var json='${channels}' var channels = JSON.parse(json);就报上面的错. json的值最终会转成这种json格 ...

  9. 「JSOI2010」排名

    「JSOI2010」排名 传送门 看到先后顺序限制和字典序,很容易想到拓扑排序 + 贪心. 考虑具体做法: 对于第一问: 我们开一个大根堆来代替队列,然后从大到小构造出各个元素的排名. 我们连边 \( ...

  10. day2-2循环语句

    ECMAScript不存在块级作用域,在循环内部定义的变量也可以在外部访问到 局部变量与全局变量: 1) 使用var操作符定义的变量将成为定义该变量的作用域中的局部变量. 2) 如果在函数中定义变量没 ...