python3 map,filter和列表推导式
num_list = [11,2,-33,10,7,3,5,43]
1、filter 函数
获取num_list大于5的元素,并返回列表
用lambda表达式实现:
# 在python2 中 filter返回的是一个列表,可以用for遍历
# 在python3 中 filter返回的是一个filter对象,可以用for遍历,也可以用list转换为列表
list2 = list(filter(lambda x: x>5, num_list))
print(list2) #输出:[11, 10, 7, 43]
用列表推导式实现:
list2 = [x for x in num_list if x >5]
print(list2) #输出:[11, 10, 7, 43]
2、map 函数
给num_list的所有元素都乘以2,并返回列表
用lambda表达式实现:
# 在python2 中 map返回的是一个列表,可以用for遍历
# 在python3 中 map返回的是一个map对象,可以用for遍历,也可以用list转换为列表
list3 = list(map(lambda x: x*2, num_list))
print(list3) #输出:[22, 4, -66, 20, 14, 6, 10, 86]
用列表推导式实现:
list3 =[x*2 for x in num_list]
print(list3) #输出:[22, 4, -66, 20, 14, 6, 10, 86]
3、Reduce函数
引入:from functools import reduce
计算num_list所有元素之和
list4 = reduce(lambda x,y: x+y, num_list)
print(list4) #输出 :48
4、列表推导式
获取num_list列表中大于0的元素并执行平方操作
squared_list = [x**2 for x in num_list if x >0]
print(squared_list) #输出 :[121, 4, 100, 49, 9, 25, 1849]
5、list join操作
binfo = ['lao','wang','python']
content = " ".join(binfo)
print(content) #输出 :lao wang python
content = ";".join(binfo)
print(content) #输出 :lao;wang;python
python3 map,filter和列表推导式的更多相关文章
- Python3 三元表达式、列表推导式、生成器表达式
Python3 三元表达式.列表推导式.生成器表达式 三元表达式 表达式中,有三个元素 name = input("请输入姓名: ")ret = '输入正确' if name == ...
- 转:Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)
Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...
- Python里的map、reduce、filter、lambda、列表推导式
Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...
- Python一些特殊用法(map、reduce、filter、lambda、列表推导式等)
Map函数: 原型:map(function, sequence),作用是将一个列表映射到另一个列表, 使用方法: def f(x): return x**2 l = range(1,10) map( ...
- 第7条:用列表推导式来取代map和filter
核心知识点: 1.列表推导式要比内置的map和filter函数清晰,因为它无需额外编写lambda表达式. 2.列表推导式可以跳过输入列表中的某些元素,如果改用map来做,那就必须辅以filter方能 ...
- 列表推导式、生成器表达式以及zip()max()max()/min()sum()sort()map()filter()的用法
列表推导式: 基本格式: variable = [out_exp_res for out_exp in input_list if out_exp == 2] #out_exp_res: 列表生成元素 ...
- python3列表推导式和生成器。
1.把一个字符串变成 Unicode 码位的列表 >>> symbols = '$¢£¥€¤' >>> codes = [] >>> for sy ...
- Python2和Python3中列表推导式的不同
Python2和Python3中列表推导式的不同 python2 >>> x = 'my girl' >>> lst = [x for x in 'hello'] ...
- Python2中的列表推导式存在变量泄漏问题,在Python3中不存在
列表推导式(list comprehension) Python2: >>> x = 'my homie' >>> dummy = [x for x in 'ABC ...
随机推荐
- 20172308《Java软件结构与数据结构》第二周学习总结
教材学习内容总结 第 3 章 集合概述--栈 集合:一种聚集.组织了其他对象的对象 软件系统中的另一个类或对象通过集合预定的方式与该集合进行交互来使用这些集合 多年以来软件开发和研究人员定义了一些特定 ...
- LPCScrypt, DFUSec : USB FLASH download, programming, and security tool, LPC-Link 2 Configuration tool, Firmware Programming
What does this tool do? The LPC18xx/43xx DFUSec utility is a Windows PC tool that provides support f ...
- JTAG - Debug Cable Driver/Receiver
- JS删除String里某个字符的方法
关于JS删除String里的字符的方法,一般使用replace()方法.但是这个方法只会删除一次,如果需要将string里的所以字符都删除就要用到正则. 1 2 3 4 var str = " ...
- Programming 2D Games 读书笔记(第四章)
示例一:Game Engine Part 1 更加完善游戏的基本流程 Graphics添加了以下几个方法,beginScene和endScene提高绘图,showBackbuffer去掉了clea ...
- 安装APK的错误码(PackageManager.java)
安装APK的错误码,定义在android源码中的这个文件中:frameworks\base\core\java\android\content\pm\PackageManager.java /** * ...
- Visual Studio 2013 sqlce 配置(转)
Visual Studio 2013 把內建 SQL CE 的管理工具拿掉了 下载SQL Server Compact Toolbox by ErikEJ并安装 打开VS2013,新建一工程,在“视图 ...
- 利用npm 安装删除模块
转自 涵一原文 利用npm 安装删除模块 1. npm安装模块 [npm install xxx]利用 npm 安装xxx模块到当前命令行所在目录:[npm install -g xxx]利用npm安 ...
- 理解 HTTPS 协议
英文原文:Understanding HTTPS Protocol 最近我们看到很多站点使用 HTTPS 协议提供网页服务.通常情况下我们都是在一些包含机密信息的站点像银行看到 HTTPS 协议. 如 ...
- 解决html5 audio iphone,ipd,safari不能自动播放问题
html audio 在iPhone,ipd,safari浏览器不能播放是有原因滴 (在safri on ios里面明确指出等待用户的交互动作后才能播放media,也就是说如果你没有得到用户的acti ...