首页 > 代码库 > python\函数作业
python\函数作业
----------------------作业一
# 有两个列表,分别存放来老男孩报名学习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\函数作业
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。