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 ...
随机推荐
- OpenNI2 + NiTE2开发教程
发现了一个非常不错的关于自然交互OpeNI2+NiTE2的资源,非常感谢Heresy,这里分享链接: OpenNI 2.x 教学文章(转载自:Heresy博客,地址:https://kheresy.w ...
- CentOS 安装 Python3
CentOS 7 默认安装 python 2.7.5 如图: 开始安装Python 3.6.3 1.下载Python3.6.3包: 拉到最下面,找到对应的包.复制下载链接地址: wget https ...
- Android笔记(二):savedIndstanceState 和 Bundle
savedIndstanceState savedIndstanceState 位于 Activity onCreate(Bundle savedInstanceState)方法的参数中.对这个参数的 ...
- FireDAC 下的 Sqlite [6] - 加密
主要就是设置 TFDConnection 的两个链接参数: Password, NewPassword, 非常简单. const dbPath = 'C:\Temp\SQLiteTest.sdb'; ...
- cmsis dap interface firmware
cmsis dap interface firmware The source code of the mbed HDK (tools + libraries) is available in thi ...
- 百度地图api---实现新建地图
调用这个函数 function refresh() { history.go(0); } 实现了地图新建
- zoj 1649
#include <iostream> #include <queue> using namespace std; int n,m,s2,e2; int b[205][205] ...
- delphi 使用工控机控件 iThreadTimes 出现问题, 导致主程序创建页面的时候, 阻塞消息, 不能正常执行。
delphi 使用工控机控件 iThreadTimes 出现问题, 导致主程序创建页面的时候, 阻塞消息, 不能正常执行. 使用这个控件需要小心 function Tfrm_MainIPC.Open ...
- [Winform]CefSharp ——js调用c#方法
摘要 有时我们在winform中嵌入浏览器,需要在页面上读取电脑上的一些信息,这个时候就需要用到CefSharp的RegisterJsObject进行注册方法然后供js进行调用了. 一个例子 我们在w ...
- 使用Application.GetResourceStream方法加载资源时得到的总是null
我们可以预先把程序中用到的资源,如图片,音乐等放入项目中,打包进XAP文档,需要的时候从中调用.下面就说说具体实现方法. 第一步,把数据存进项目. 1.右键点击项目名称-添加-新建文件夹(英文版请自行 ...