有两个列表,分别存放报名学习linux和python课程的学生名字
linux=['钢弹','小壁虎','小虎比','alex','wupeiqi','yuanhao']
python=['dragon','钢弹','zhejiangF4','小虎比']
问题一:得出既报名linux又报名python的学生列表
l1 = [i for i in linux if i inpython ]print(l1)-------输出结果-------['钢弹', '小虎比']
问题二:得出只报名linux,而没有报名python的学生列表
l1 = [i for i in linux if i not inpython]print(l1)----------------输出结果------------------['小壁虎', 'alex', 'wupeiqi', 'yuanhao']
问题三:得出只报名python,而没有报名linux的学生列表
l1 = [i for i in python if i not inlinux]print(l1)---------输出结果---------['dragon', 'zhejiangF4']
shares={ 'IBM':36.6, 'lenovo':27.3, 'huawei':40.3, 'oldboy':3.2, 'ocean':20.1 }
问题一:得出股票价格大于30的股票名字列表
list = [i for i in shares if shares[i] > 30]print(list)----------输出结果---------['IBM', 'huawei']
另一方法:
print([i for i,j in shares.items() if j > 30])-----------------输出结果----------------------['IBM', 'huawei']
问题二:求出所有股票的总价格
list = [shares[i] for i in shares] #把字典所有的values,转成一个列表
print(sum(list)) #打印列表的总和
print(sum([shares[i] for i in shares]) #简写形式
-------输出结果--------
127.5
另一种方法:
print(sum([j for i,j inshares.items()]))------------------输出结果------------------
127.5
l=[10,2,3,4,5,6,7] 得到一个新列表l1,新列表中每个元素是l中对应每个元素值的平方 过滤出l1中大于40的值,然后求和
list = [i**2 for i in l if i**2 > 40] #得出取幂后大于40的值的列表
print(sum(list)) #对列表求和
print(sum[i**2 for i in l if i**2 > 40]) #简写形式
--------输出结果--------
149