博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python练习-内置函数的应用
阅读量:4477 次
发布时间:2019-06-08

本文共 2447 字,大约阅读时间需要 8 分钟。

说真的,我感觉这几天egon没有睡好,或者是egon心里有事儿,练习给留的太过简单了

1 # 编辑者:闫龙 2 # 用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb 3 #name=['alex','wupeiqi','yuanhao'] 既然都Somebody了,那么请给我一个不用egon的理由 4 name=['egon','lin','hai','feng'] 5 print(list(map(lambda newname : newname+"_sb",name))) 6 #以下为解读代码 7 #将name列表传递给lambda匿名函数进行遍历,返回newname变量 8 # 然后让newname变量中的值逐个+"_sb",最终将返回值传递给m 9 m = map(lambda newname : newname+"_sb",name)10 print(m)#11 l = list(m)#将m由map类型转为list类型,用于print打印12 print(l)#['egon_sb', 'lin_sb', 'hai_sb', 'feng_sb']13 14 15 #用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾16 #l=[{'name':'alex'},{'name':'y'}]既然都Somebody了,那么请给我一个不用egon的理由17 l=[{
'name':'linhaifeng'},{
'name':'egon'}]18 print(list(map(lambda newname:{
"name":newname["name"]+"_sb"}, l)))19 #以下为解读代码20 #将l列表传递给lambda匿名函数进行遍历,返回newname变量21 # newname变量是({"name":"linhaifeng"},{"name":"egon"})22 # 让newname逐个提取name对应的value逐个+"_sb",最终将返回值传递给m23 m=map(lambda newname:{
"name":newname["name"]+"_sb"},l)24 print(m)#25 l = list(m)#将m由map类型转为list类型,用于print打印26 print(l)#['linhaifeng_sb', 'egon_sb']
map函数练习

来回来去,练了好几遍,一开始还可以

1 # 编辑者:闫龙 2 #用filter来处理,得到股票价格大于20的股票名字 3 shares={ 4     'IBM':36.6, 5     'Lenovo':23.2, 6     'oldboy':21.2, 7     'ocean':10.2, 8 } 9 #代码解读:10 #变量fi接受filter筛选出来的结果11 #匿名函数中price得到的是shares中的keys12 # 也就是说如果要提取shares中的value,就必须要shares[price]13 #大于20的全部返回给fi14 fi=filter(lambda price:shares[price] > 20,shares)15 print(list(fi))#将fi转型为list类型,打印16 #['oldboy', 'Lenovo', 'IBM']
filter函数练习

然后发现,越来越无聊,越来越无聊,Somebody你要振作啊

1 # 编辑者:闫龙 2 #如下,每个小字典的name对应股票名字,shares对应多少股,price对应股票的价格 3 portfolio = [ 4     {
'name': 'IBM', 'shares': 100, 'price': 91.1}, 5 {
'name': 'AAPL', 'shares': 50, 'price': 543.22}, 6 {
'name': 'FB', 'shares': 200, 'price': 21.09}, 7 {
'name': 'HPQ', 'shares': 35, 'price': 31.75}, 8 {
'name': 'YHOO', 'shares': 45, 'price': 16.35}, 9 {
'name': 'ACME', 'shares': 75, 'price': 115.65}10 ]11 #1:map来得出一个包含数字的迭代器,数字指的是:购买每支股票的总价格12 m = map(lambda sumprice:{sumprice["name"]:sumprice["price"]*sumprice["shares"]},portfolio)13 print(list(m))14 15 #2:基于1的结果,用reduce来计算,购买这些股票总共花了多少钱16 from functools import reduce17 m = map(lambda sumprice:sumprice["price"]*sumprice["shares"],portfolio)18 r = reduce(lambda x,y:x+y,m)19 print(r)20 21 #3:用filter过滤出,单价大于100的股票有哪些22 fi = filter(lambda por:por["price"]>100,portfolio)23 print(list(fi))
map/reduce/filter函数练习

完事儿了,自己搞吧!

转载于:https://www.cnblogs.com/DragonFire/p/6705392.html

你可能感兴趣的文章
Orchard后台控制面板的介绍
查看>>
大二下第一周----开学测试
查看>>
javaweb-servlet生成简单的验证码
查看>>
apache+php+mysql环境搭建时,phpinfo里面没有mysql解决办法
查看>>
2018.10.2浪在ACM 集训队第三次测试赛
查看>>
vue3.0学习笔记(一)
查看>>
jQuery跨域
查看>>
MySQL的explain中的参数说明
查看>>
JAVA基本数据类型、引用数据类型-参数传递详解
查看>>
sun.misc.Unsafe 详解
查看>>
食堂排队问题的一个实现
查看>>
Git 回滚代码的正确姿势
查看>>
构造函数、析构函数、虚析构函数、纯虚析构函数要点
查看>>
【原创】学习日记2:nginx配置文件2012.01.06
查看>>
nginx知识图谱
查看>>
[转载]Bison-Flex 笔记
查看>>
[转]Android的Handler总结
查看>>
初始化一个新的服务器
查看>>
ServletConfig
查看>>
顺序栈用C语言实现
查看>>