说真的,我感觉这几天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. http和https的优缺点,区别与工作原理

    文章内容 超文本传输协议HTTP协议被用于在Web浏览器和网站服务器之间传递信息,HTTP协议以明文方式发送内容,不提供任何方式的数据加密,如果攻击者截取了Web浏览器和网站服务器之间的传输报文,就可 ...

  2. mybaits入门(含实例教程和源码) http://blog.csdn.net/u013142781/article/details/50388204

    前言:mybatis是一个非常优秀的存储过程和高级映射的优秀持久层框架.大大简化了,数据库操作中的常用操作.下面将介绍mybatis的一些概念和在eclipse上的实际项目搭建使用. 一.mybati ...

  3. 半夜思考, 为什么建议重写 equals() 方法时, 也要重写 hashCode() 方法

    我说的半夜, 并不是真正的半夜, 指的是在我一个人的时候, 我会去思考一些奇怪的问题. 要理解 hashCode() 需要理解下面三个点: hash契约 哈希冲突 哈希可变 第一点: hash 契约指 ...

  4. Springboot 和 Mybatis集成开发

    Springboot 和 Mybatis集成开发 本项目使用的环境: 开发工具:Intellij IDEA 2017.1.3 jdk:1.7.0_79 maven:3.3.9 额外功能 PageHel ...

  5. 一些常用的基础Linux操作指令

    复习的时候顺便分享我学的知识,虽不是什么牛的技术分享,只是一些基础,基础打好了技术慢慢就提高了!一起加油一起共勉! 具体的vi和vim命令集太多了,以后的随笔我也会分享出来,没必要全记住,记住常用的就 ...

  6. 牛客OI赛制测试赛3 解题报告

    前话: 话说考试描述:普及难度. 于是想在这场比赛上涨点信心. 考出来的结果:Point:480     Rank:40 然而同机房的最好成绩是 510. 没考好啊!有点炸心态,D题一些细节没有注意, ...

  7. MT【150】源自斐波那契数列

    (清华2017.4.29标准学术能力测试7) 已知数列$\{x_n\}$,其中$x_1=a$,$x_2=b$,$x_{n+1}=x_n+x_{n-1}$($a,b$是正整数),若$2008$为数列中的 ...

  8. USACO Section 1.5 Prime Palindromes 解题报告

    题目 题目描述 题目就是给定一个区间[a,b]((5 <= a < b <= 100,000,000)),我们需要找到这个区间内所有既是回文串又是素数的数字. 输入样例 5 500 ...

  9. 【ARC083E】Bichrome Tree

    Description ​ 给一棵\(n\)个节点的树,和一个长度同样为\(n\)的非负整数序列\(x_i\). ​ 请尝试对每个节点染黑或白两种颜色,并确定一个非负整数权值. ​ 问是否存在一种方案 ...

  10. Linux内核分析第八周——进程的切换和系统的一般执行过程

    Linux内核分析第八周--进程的切换和系统的一般执行过程 李雪琦+原创作品转载请注明出处 + <Linux内核分析>MOOC课程http://mooc.study.163.com/cou ...