匿名函数

# 匿名函数
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() 处理一个序列,然后把序列进行合并操作 

最新文章

  1. 【01-05】hibernate BaseDao
  2. Duilib源码分析(四)绘制管理器—CPaintManagerUI—(前期准备四)
  3. 一道关于Promise应用的面试题
  4. 第一章 UI实战开发 UIWindow UIView
  5. 【Telnet】使用Telnet协议连接到远程Shell执行脚本
  6. PHP的Socket通信之UDP篇
  7. 自己编写基于MVC的轻量级PHP框架
  8. node.js的npm详解
  9. 在 Asp.NET MVC 中使用 SignalR 实现推送功能
  10. EL四大作用域 9个jsp对象有效范围 及 对应的类
  11. Qt中使用信号和槽的一点心得
  12. OpenCart本地调试环境搭建
  13. JDBC batch批处理Statement executeBatch 具体解释
  14. information_schema.collation_character_set_applicability 学习
  15. ViewPager实现无限轮播踩坑记
  16. C#运算符的简单使用测试
  17. IntelliJ IDEA使用maven-javadoc-plugin生成Java Doc控制台乱码
  18. JavaWeb应用和Servlet
  19. C++中嵌入python程序——命令行模式
  20. 地址解析协议ARP(Address Resolution Protocol)

热门文章

  1. java 工程idea 添加依赖几种方式:
  2. JAVA8-用lamda表达式和增强版Comparator进行排序
  3. 07-Docker-Image深入理解
  4. 本地简单HTTP服务器
  5. 4_1 古老的密码(UVa1339)<排序>
  6. 寒假pta二
  7. node vue 项目git 管理
  8. Update(Stage4):sparksql:第3节 Dataset (DataFrame) 的基础操作 & 第4节 SparkSQL_聚合操作_连接操作
  9. Java直通车——类与对象篇
  10. idea提交项目到码云