day25 map,filter,reduce 内置函数,作业

=====================作业一
#用map来处理字符串列表啊,把列表中所有人都变成sb,比方alex_sb
name=['alex','wupeiqi','yuanhao']
#######################################################
def name_sb(x):
return x+'_sb'#加 _sb 的函数
res=map(name_sb,name)
print(list(res))
#######################################################
res=(list(map(lambda x:x+'_sb',name)))
print(res)
#######################################################

 

#用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
l=[{'name':'alex'},{'name':'y'}]
#######################################################
l=[{'name':'alex'},{'name':'y'}]
def name_sb(x):
return x['name'] + '_sb'
res=list(map(name_sb,l))
print(res)
#######################################################
res=(list(map(lambda x:x['name']+'_sb',l)))
print(res)
#######################################################

 


=====================作业二
#用filter来处理,得到股票价格大于20的股票名字
shares={
'IBM':36.6,
'Lenovo':23.2,
'oldboy':21.2,
'ocean':10.2,
}
##################################################
res=list(filter(lambda d:shares[d]>20,shares))
print(res)
##################################################


=====================作业三
#如下,每个小字典的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来得出一个包含数字的迭代器,数字指的是:购买每支股票的总价格
########################################
res=list(map(lambda x:x['shares'] * x['price'],portfolio))
print(res)
#############################################

2:基于1的结果,用reduce来计算,购买这些股票总共花了多少钱
#########################################
from functools import reduce
res=reduce(lambda x,y:x+y,res)
print(res)
#########################################
3:用filter过滤出,单价大于100的股票有哪些

res=filter(lambda x:x['price']>100 ,portfolio)
print(list(res))

posted @ 2017-04-13 18:30  py鱼  阅读(560)  评论(0编辑  收藏  举报
点我回主页