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

 # 编辑者:闫龙
# 用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb
#name=['alex','wupeiqi','yuanhao'] 既然都Somebody了,那么请给我一个不用egon的理由
name=['egon','lin','hai','feng']
print(list(map(lambda newname : newname+"_sb",name)))
#以下为解读代码
#将name列表传递给lambda匿名函数进行遍历,返回newname变量
# 然后让newname变量中的值逐个+"_sb",最终将返回值传递给m
m = map(lambda newname : newname+"_sb",name)
print(m)#<map object at 0x0000028FA3BA46A0>
l = list(m)#将m由map类型转为list类型,用于print打印
print(l)#['egon_sb', 'lin_sb', 'hai_sb', 'feng_sb'] #用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
#l=[{'name':'alex'},{'name':'y'}]既然都Somebody了,那么请给我一个不用egon的理由
l=[{'name':'linhaifeng'},{'name':'egon'}]
print(list(map(lambda newname:{"name":newname["name"]+"_sb"}, l)))
#以下为解读代码
#将l列表传递给lambda匿名函数进行遍历,返回newname变量
# newname变量是({"name":"linhaifeng"},{"name":"egon"})
# 让newname逐个提取name对应的value逐个+"_sb",最终将返回值传递给m
m=map(lambda newname:{"name":newname["name"]+"_sb"},l)
print(m)#<map object at 0x000001B7B24D4898>
l = list(m)#将m由map类型转为list类型,用于print打印
print(l)#['linhaifeng_sb', 'egon_sb']

map函数练习

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

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

filter函数练习

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

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

map/reduce/filter函数练习

完事儿了,自己搞吧!

Python练习-内置函数的应用的更多相关文章

  1. python基础-内置函数详解

    一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highlight=built#ascii ...

  2. 如何查看Python的内置函数

    经常调用的时候不知道python当前版本的内置函数是哪些,可以用下面的指令查看: C:\Users\Administrator>python Python 2.7.11 (v2.7.11:6d1 ...

  3. python_way,day3 集合、函数、三元运算、lambda、python的内置函数、字符转换、文件处理

    python_way,day3 一.集合 二.函数 三.三元运算 四.lambda 五.python的内置函数 六.字符转换 七.文件处理 一.集合: 1.集合的特性: 特性:无序,不重复的序列 如果 ...

  4. python基础——内置函数

    python基础--内置函数  一.内置函数(python3.x) 内置参数详解官方文档: https://docs.python.org/3/library/functions.html?highl ...

  5. Python的内置函数

    python的内置函数一共有68个,下面将简单介绍各个函数的功能. abs() dict() help() min() setattr() all() dir() hex() next() slice ...

  6. python print()内置函数

    啦啦啦啦啦啦,我又来了,学习任何东西都得坚持,我一定的好好加油!!! 今天来说说print()函数,前边我们已经用过好好多次啦,现在来学习哈吧!!! Python的内置函数,print() print ...

  7. Python入门-内置函数一

    什么是内置函数?就是python给你提供的拿来直接用的函数,比如print,input等等,截止到python版本3.6.2 python一共提供了68个内置函数,他们就是python直接提供给我们的 ...

  8. Python 集合内置函数大全(非常全!)

    Python集合内置函数操作大全 集合(s).方法名 等价符号 方法说明 s.issubset(t) s <= t 子集测试(允许不严格意义上的子集):s 中所有的元素都是 t 的成员   s ...

  9. Python字典内置函数和方法

    Python字典内置函数和方法: 注:使用了 items.values.keys 返回的是可迭代对象,可以使用 list 转化为列表. len(字典名): 返回键的个数,即字典的长度 # len(字典 ...

  10. Python元组内置函数

    Python元组内置函数: len(元组名): 返回元组长度 # len(元组名): # 返回元组长度 tuple_1 = (1,2,3,'a','b','c') print("tuple_ ...

随机推荐

  1. Js 中的原始值和引用值

    最近遇写 node.js 时到一个问题,把对象当赋值给数组成员时总是出错,比如下面的代码, var Arr = new Array(); var Obj = new Object(); for(var ...

  2. 微信 小程序布局 swiper 页面

    JS // pages/classify/swiper.js Page({ /** * 页面的初始数据 */ data: { current:0   }, titleBtn:function(e){ ...

  3. Redis:主从复制

    前言 在前面的两篇文章中,分别介绍了Redis的内存模型和Redis的持久化. 在Redis的持久化中曾提到,Redis高可用的方案包括持久化.主从复制(及读写分离).哨兵和集群.其中持久化侧重解决的 ...

  4. 【转载】JSP生成静态Html页面

    在网站项目中,为了访问速度加快,为了方便百度爬虫抓取网页的内容,需要把jsp的动态页面转为html静态页面.通常有2种常用的方式: 1.伪静态,使用URL Rewriter 2.纯静态,本文中代码实现 ...

  5. zabbix自定义监控阿里云RDS服务

    zabbix自定义监控rds zabbix通过阿里云api 自动发现.监控阿里云RDS-Mysql数据库 注意事项  脚本会收集RDS别名,  不要默认别名 不要使用中文别名(zabbix不识别)  ...

  6. ionic2如何升级到最新版本、配置开发环境

         好久没写东西了,去年用了angular2的RC版本和ionic2写了一个项目,因为开发周期和有些版本不稳定,所以一直没有升级,ng2新版本引用Aot打包,听说优化还不错,现在尝试升级ioni ...

  7. MySQL 双主问题集

    最近试用MySQL高可用方案,需要配MySQL双主,对期间遇到的问题做下记录. 1.导出锁表问题 mysqldump 命令增加参数 --skip-opt -q 可避免导出时锁表: 2.导出\导入所有数 ...

  8. 【刷题】BZOJ 2005 [Noi2010]能量采集

    Description 栋栋有一块长方形的地,他在地上种了一种能量植物,这种植物可以采集太阳光的能量.在这些植物采集能量后,栋栋再使用一个能量汇集机器把这些植物采集到的能量汇集到一起. 栋栋的植物种得 ...

  9. Permutations II - LeetCode

    目录 题目链接 注意点 解法 小结 题目链接 Permutations II - LeetCode 注意点 不确定有几种排列 解法 解法一:因为有重复的数字所以排列的个数不确定几个,一直生成新的排列直 ...

  10. Docker跟一般的虚拟机有什么区别

    这是StackOverflow上的一个问题及其回答的翻译(原文:Docker.io跟一般的虚拟机有什么区别?).原文主要回答了三个问题: 1. Docker.io的基本原理是什么?2. 为什么在doc ...