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 ...
随机推荐
- 【转载】gdi+ 内存泄漏
[转载]http://issf.blog.163.com/blog/static/1941290822009111894413472/ 最近用GDI+实现了几个自定义控件,但是发现存在内存泄露问题 B ...
- Codeforces Round #404 (Div. 2) C. Anton and Fairy Tale 二分
C. Anton and Fairy Tale 题目连接: http://codeforces.com/contest/785/problem/C Description Anton likes to ...
- iOS9UICollectionView自定义布局modifying attributes returned by UICollectionViewFlowLayout without copying them
UICollectionViewFlowLayout has cached frame mismatch This is likely occurring because the flow layou ...
- C#——性能计数器
简要Windows性能监视器: 打开Windows性能监视器的步骤如下: 开始→运行→perfmon→确定 在这里我们可以选择添加我们要监控的计数器,比如:cpu使用率.内存使用量等,作为asp.ne ...
- ISO 7816-4: GET RESPONSE and ENVELOPE command
http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-4_7_transmission_interindustry_command ...
- Weekly linux and ConferenceByYear(2002-now)
https://lwn.net/Archives/ https://lwn.net/Archives/ConferenceByYear/
- bat如何批量删除指定部分文件夹名的文件夹
@echo offfor /f "delims=" %%i in ('dir /s/b/ad 123*') do ( rd /s/q "%%~i")exit
- firedac调用ORACLE的存储过程
firedac调用ORACLE的存储过程 EMB官方原文地址:http://docwiki.embarcadero.com/RADStudio/Tokyo/en/Using_Oracle_with_F ...
- 比Wireshark更轻量、更方便的抓包软件:Charles
转:http://blog.csdn.net/lixing333/article/details/42776187 之前写过一篇通过Wireshark进行抓包,分析网络连接的文章<通过WireS ...
- arcgispro字段计算器
使用python语法 在python中没有类似sub()或者subString()的方法,但是字符串的截取操作却是更加简单. 只需要把字符串看作是一个字符数组,截取子串非常方便. 多余的话就不啰嗦了, ...