2017.4.13(内置函数)作业
=====================作业一
#用map来处理字符串列表啊,把列表中所有人都变成sb,比方alex_sb
name=['alex','wupeiqi','yuanhao']
name=['alex','wupeiqi','yuanhao']
f=map(lambda name_f:name_f+"_sb",name)
print(list(f))
#用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
>>> l=[{'name':'alex'},{'name':'y'}]
l=[{'name':'alex'},{'name':'y'}]
f=map(lambda dic:dic["name"]+"sb",l)
print(list(f))
=====================作业二
#用filter来处理,得到股票价格大于20的股票名字
shares={
"IBM":36.6,
"Lenovo":23.2,
"oldboy":21.2,
"ocean":10.2,
}
g=filter(lambda k:shares[k]>20,shares)
for i in g:
print(i)
=====================作业三
#如下,每个小字典的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}
]
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来得出一个包含数字的迭代器,数字指的是:购买每支股票的总价格
f=map(lambda dic:dic["price"]*dic["shares"],portfolio)
print(f)
# 2.基于1的结果,用reduce来计算,购买这些股票总共花了多少钱.
f=map(lambda dic:dic["price"]*dic["shares"],portfolio)
l=list(f)
from functools import reduce
sum_portfolio=reduce(lambda x,y:x+y,l)
print(sum_portfolio)
# 3:用filter过滤出,单价大于100的股票有哪些
portfolio_list=filter(lambda dic:dic["price"]>100,portfolio)
print(list(portfolio_list))