# (1) name = ['oldboy', 'alex', 'wusir'] def func(n): return n+"_leader" # map 返回迭代器 # None 地址 容器 迭代器 map(func,name) it = map(func,name) print(list(it)) # 匿名函数 it = map(lambda n : n+'_leader',name) print(list(it)) # 2.用map来处理下述 listvar ,要求得到新列表,每个元素名字加后面加_leader # listvar = [{'name':'alex'},{'name':'wusir'}] listvar = [{'name':'alex'},{'name':'wusir'}] def func(n): # n = {'name':'alex'} return n['name'] + "_leader" it = map(func,listvar) print(list(it)) it = map(lambda n : n['name'] + "_leader",listvar) print(list(it)) # 3.用filter来处理,得到股票价格大于20的股票名字 shares={ 'IBM':36.6, 'Lenovo':23.2, 'oldboy':21.2, 'ocean':10.2, } def func(n): # n => IBM Lenovo oldboy ocean # return shares[n] if shares[n] > 20: return True it = filter(func,shares) print(list(it)) # 匿名函数 it = filter(lambda n : True if shares[n] > 20 else False , shares) print(list(it)) """ 4.有下面字典: """ portfolio=[ {'name':'IBM','shares':100,'price':91.1}, {'name':'AAPL','shares':20,'price':54.0}, {'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} ] # a.获取购买每只股票的总价格(乘积),迭代器中[9110.0, 1080.0 ,......] # b.用filter过滤出price大于100的股票。1 # (a) def func(n): # n =>{'name':'IBM','shares':100,'price':91.1} return n['shares'] * n['price'] it = map(func,portfolio) print(list(it)) # 匿名函数 it = map(lambda n : n['shares'] * n['price'],portfolio) print(list(it)) #(b) def func(n): if n['price'] > 100: return True it = filter(func,portfolio) print(list(it)) # 匿名函数 it = filter(lambda n : True if n['price'] > 100 else False,portfolio) print(list(it)) # 5. listvar = [ {'sales_volumn': 0}, {'sales_volumn': 108}, {'sales_volumn': 337}, {'sales_volumn': 475}, {'sales_volumn': 396}, {'sales_volumn': 172}, {'sales_volumn': 9}, {'sales_volumn': 58}, {'sales_volumn': 272}, {'sales_volumn': 456}, {'sales_volumn': 440}, {'sales_volumn': 239} ] # 将 listvar 按照列表中的每个字典的values大小进行排序,形成一个新的列表。 def func(n): # n {'sales_volumn': 0} return n['sales_volumn'] lst = sorted(listvar,key=func) print(lst) ''' {'sales_volumn': 0} => 0 {'sales_volumn': 108} => 108 {'sales_volumn': 337} => 337 ... ... 依次类推:按照values排序,之后对列表排序 ''' # 匿名函数 lst= sorted(listvar,key=lambda n : n['sales_volumn'] ) print(lst)