python 高级函数
高级函数
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 高级函数的更多相关文章
- Python—高级函数
Python-高级函数 一.闭包 Python函数是支持嵌套的.如果在一个内部函数中对外部函数作用域(非全局作用域)的变量进行引用,那么内部函数就会被称为闭包.闭包需要满足如下3个条件: 存在于两个嵌 ...
- python高级函数
1 函数 1.1 函数即变量 函数定义:把一个函数体作为变量赋值给一个函数名,同时函数体存放到内存中. 函数调用:根据函数名去内存中寻找对用的函数体,找到了就执行. >>> def ...
- Python高级函数--map/reduce
名字开头大写 后面小写:练习: def normalize(name): return name[0].upper() + name[1:].lower() L1 = ['adam', 'LISA', ...
- Python高级函数--filter
def is_palindrome(n): return str(n) == str(n)[::-1] #前两个‘:’表示整个范围,‘-’表示从后面,‘1’表示数据间隔 output = filter ...
- python高级之函数
python高级之函数 本节内容 函数的介绍 函数的创建 函数参数及返回值 LEGB作用域 特殊函数 函数式编程 1.函数的介绍 为什么要有函数?因为在平时写代码时,如果没有函数的话,那么将会出现很多 ...
- 第一篇:python高级之函数
python高级之函数 python高级之函数 本节内容 函数的介绍 函数的创建 函数参数及返回值 LEGB作用域 特殊函数 函数式编程 1.函数的介绍 为什么要有函数?因为在平时写代码时,如果没 ...
- Python函数式编程(一):高级函数
首先有一个高级函数的知识. 一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数. def add(x, y, f): return f(x) + f(y) 当我们调用add(-, , abs ...
- Day11 Python基础之装饰器(高级函数)(九)
在python中,装饰器.生成器和迭代器是特别重要的高级函数 https://www.cnblogs.com/yuanchenqi/articles/5830025.html 装饰器 1.如果说装 ...
- python高级特性和高阶函数
python高级特性 1.集合的推导式 列表推导式,使用一句表达式构造一个新列表,可包含过滤.转换等操作. 语法:[exp for item in collection if codition] if ...
随机推荐
- ASP.NET Core-Docs:在 ASP.NET Core 中启用跨域请求(CORS)
ylbtech-ASP.NET Core-Docs:在 ASP.NET Core 中启用跨域请求(CORS) 1.返回顶部 2.返回顶部 3.返回顶部 4.返回顶部 5.返回顶部 1. ...
- shell做成csv文件
echo a,b,c,d >aa.csv 其实就是用逗号做分隔符
- 红米note4高配版 电量用完,充不进去电,解决办法
红米note4高配版 电量用完,充不进去电,解决办法 1.拆机,电池连线拆开,再安上,反复两次.就ok. 2.尾插坏了,买个尾插,换上.就好. 修手机的一次1,2百,太贵
- koa-session 持久化
一.使用mongoose链接数据库 'use strict'; const mongoose = require('mongoose'); const config = require('config ...
- Linux物理网卡聚合及桥接
说明: (1).在网卡聚合绑定之前,要先停用NetworkManager服务(或者在网卡中添加参数:NM_CONTROLLED=no),否则系统重启后绑定的IP失效了. # systemctl sto ...
- Ubuntu为mysql的root用户密码问题
1.root用户免密码登录mysql Ubuntu装完mysql时,root用户可以免密登录,如果设置的root用户密码忘记了,想要使用root用户免密登录,修改在配置文件的[mysqld]节点下添加 ...
- Bloomber 新建基金账户步骤
--Bloomber 新建基金账户步骤0.执行FIRM命令1.新建account group2.新建account3.将account加入到account group4.将account group授 ...
- Anaconda安装pygame
注:安装任何库前,都先更新下pip版本 python -m pip install --upgrade pip 安装pygame : pip install pygame
- OpenCV阈值化处理
图像的阈值化就是利用图像像素点分布规律,设定阈值进行像素点分割,进而得到图像的二值图像.图像阈值化操作有多种方法,常用方法有经典的OTSU.固定阈值.自适应阈值.双阈值及半阈值化操作.这里对各种阈值化 ...
- 大觅网01Day
1.首先在上手之前准备几样开发辅助工具: ①vmware ②ubuntu ③xshell ④xftp 2.创建ubuntu系统 打开vmware创建一个新的虚拟机 在创建虚拟机时有几处需要留意 首先是 ...