说真的,我感觉这几天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. [转帖]Cgroups 与 Systemd

    Cgroups 与 Systemd 大神的文章很牛B .. https://www.cnblogs.com/sparkdev/p/9523194.html 看不太懂 , 转帖一下 自己留着好好看呢. ...

  2. Find non-overlap jobs with max cost

    Given a set of n jobs with [start time, end time, cost] find a subset so that no 2 jobs overlap and ...

  3. jQuery文件上传插件uploadify

    官方网站:http://www.uploadify.com/ 参考博客:jQuery Uploadify在ASP.NET MVC3中的使用 参考博客:使用uploadify上传图片时返回“Cannot ...

  4. Cent7安装mysql5.7.11全过程

    下载mysql(注:其他版本未测试) https://cdn.mysql.com/archives/mysql-5.7/mysql-boost-5.7.11.tar.gz 1.安装依赖包 yum -y ...

  5. SPOJ Triple Sums(FFT+容斥原理)

    # include <cstdio> # include <cstring> # include <cstdlib> # include <iostream& ...

  6. BZOJ5298 CQOI2018交错序列(动态规划+矩阵快速幂)

    显然答案为Σkb·(n-k)a·C(n-k+1,k).并且可以发现ΣC(n-k,k)=fibn.但这实际上没有任何卵用. 纯组合看起来不太行得通,换个思路,考虑一个显然的dp,即设f[i][j][0/ ...

  7. 为什么有时候访问某些加密https网站是不需要证书的? https? ssl?

    根证书是CA颁发给自己的证书, 是信任链的起点 1.所有访问https的网站都是需要证书的. 2.对于某些网站,尤其是证书颁发机构的网站,操作系统自动添加了这些网站访问需要的证书到证书管理器中,所以就 ...

  8. oracle +plsql装完省略号不能点

    1.如图 2.复制 TNS 服务名 3.复制到 登录框的 Database ,输入用户名密码,点OK..可以进去了,省略号变成可点击状态

  9. 【BZOJ2423】最长公共子序列(动态规划)

    [BZOJ2423]最长公共子序列(动态规划) 题面 BZOJ 洛谷 题解 今天考试的时候,神仙出题人\(fdf\)把这道题目作为一个二合一出了出来,我除了orz还是只会orz. 对于如何\(O(n^ ...

  10. BZOJ 1007 水平可见直线 | 计算几何

    BZOJ 1007 水平可见直线 题面 平面直角坐标系上有一些直线,请求出在纵坐标无限大处能看到哪些直线. 题解 将所有直线按照斜率排序(平行的直线只保留最高的直线),维护一个栈,当当前直线与栈顶直线 ...