码迷,mamicode.com
首页 > 编程语言 > 详细

python/函数作业

时间:2017-04-24 17:22:02      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:mic   处理   sha   字符   lin   ==   python if   sof   oat   

----------------------作业一

# 有两个列表,分别存放来老男孩报名学习linux和python课程的学生名字
# linux=[‘钢弹‘,‘小壁虎‘,‘小虎比‘,‘alex‘,‘wupeiqi‘,‘yuanhao‘]
# python=[‘dragon‘,‘钢弹‘,‘zhejiangF4‘,‘小虎比‘]
#
# 问题一:得出既报名linux又报名python的学生列表
# 问题二:得出只报名linux,而没有报名python的学生列表
# 问题三:得出只报名python,而没有报名linux的学生列表


linux=[‘钢弹‘,‘小壁虎‘,‘小虎比‘,‘alex‘,‘wupeiqi‘,‘yuanhao‘]
python=[‘dragon‘,‘钢弹‘,‘zhejiangF4‘,‘小虎比‘]
res1=[i for i in linux for j in python if i==j]
print(res1)
res2=[i for i in linux if i not in python]
print(res2)
res3=[i for i in python if i not in linux]
print(res3)


-----------------------作业二
shares = {
‘IBM‘: 36.6,
‘lenovo‘: 27.3,
‘huawei‘: 40.3,
‘oldboy‘: 3.2,
‘ocean‘: 20.1
}
#
# 问题一:得出股票价格大于30的股票名字列表
# 问题二:求出所有股票的总价格
res = [k for k,v in shares.items() if v>30]
# print(res)
total=sum([v for k,v in shares.items()])
print(total)


------------------------作业三
l=[10,2,3,4,5,6,7]
# 得到一个新列表l1,新列表中每个元素是l中对应每个元素值的平方
# 过滤出l1中大于40的值,然后求和

l1=[(x*x)for x in l]
print(l1)
res=(i for i in l1 if float(i)>40)
print(res)
total=sum(k for k in res)
print(total)


#print(list((x*x)for x in l))

---------------------------作业四
#用map来处理字符串列表啊,把列表中所有人都变成sb,比方alex_sb
# name=[‘alex‘,‘wupeiqi‘,‘yuanhao‘]
#用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
# >>> l=[{‘name‘:‘alex‘},{‘name‘:‘y‘}]

name=[‘alex‘,‘wupeiqi‘,‘yuanhao‘]
name1=map(lambda name:name+"_sb",name)
for i in name1:
print(i)

l=[{‘name‘:‘alex‘},{‘name‘:‘y‘}]
m=map(lambda k:k["name"]+"sb",l)
print(list(m))


------------------------作业五
#用filter来处理,得到股票价格大于20的股票名字
shares={
‘IBM‘:36.6,
‘Lenovo‘:23.2,
‘oldboy‘:21.2,
‘ocean‘:10.2,
}


f=filter(lambda d:shares[d]>20,shares)
print(list(f))
print(f)
for i in f:
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}
]

# 1:map来得出一个包含数字的迭代器,数字指的是:购买每支股票的总价格
m=map(lambda d:d["shares"]*d["price"],portfolio)
for i in m:
print(i)
# 2:基于1的结果,用reduce来计算,购买这些股票总共花了多少钱
from functools import reduce
total=reduce(lambda x,y:x+y,m)
print(total)

# 3:用filter过滤出,单价大于100的股票有哪些


f=filter(lambda d:d["price"]>100,portfolio)
print(f)
for i in f:
print(i)

python/函数作业

标签:mic   处理   sha   字符   lin   ==   python if   sof   oat   

原文地址:http://www.cnblogs.com/guobaoyuan/p/6757626.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!