用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb

1 name=['oldboy','alex','wusir']
2 print(list(map(lambda x:x+'_sb',name)))
map
用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾

1 l=[{'name':'alex'},{'name':'y'}]
2 print(list(map(lambda x:x['name']+'sb',l)))
map
用filter来处理,得到股票价格大于20的股票名字

1 shares={
2 'IBM':36.6,
3 'Lenovo':23.2,
4 'oldboy':21.2,
5 'ocean':10.2,
6 }
7 print(list(filter(lambda x:shares[x]>20,shares)))
filter
有下面字典,得到购买每只股票的总价格,并放在一个迭代器中。结果:lis=[9110.0, 27161.0,......]

1 portfolio = [
2 {'name': 'IBM', 'shares': 100, 'price': 91.1},
3 {'name': 'AAPL', 'shares': 50, 'price': 543.22},
4 {'name': 'FB', 'shares': 200, 'price': 21.09},
5 {'name': 'HPQ', 'shares': 35, 'price': 31.75},
6 {'name': 'YHOO', 'shares': 45, 'price': 16.35},
7 {'name': 'ACME', 'shares': 75, 'price': 115.65}]
8 print(list(map(lambda x:x['shares']*x['price'],portfolio)))
View Code
还是上面的字典,用filter过滤出单价大于100的股票

1 print(list(filter(lambda x:x['price']>100,portfolio)))
filter
有下列三种数据类型,写代码,最终得到的是(每个元祖第一个元素>2,第三个*至少是4个)[(3, 'wusir', '****'), (4, '太白', '*******')]这样的数据。

1 l1 = [1,2,3,4,5,6]
2 l2 = ['oldboy','alex','wusir','太白','日天']
3 tu = ('**','***','****','*******')
4 print(list(filter(lambda x:x[0]>2 and len(x[2])>3,zip(l1,l2,tu))))
View Code
有如下数据类型:将lst1按照列表中的每个字典的values大小进行排序,形成一个新的列表。

1 lst1 = [ {'sales_volumn': 0},
2 {'sales_volumn': 108},
3 {'sales_volumn': 337},
4 {'sales_volumn': 475},
5 {'sales_volumn': 396},
6 {'sales_volumn': 172},
7 {'sales_volumn': 9},
8 {'sales_volumn': 58},
9 {'sales_volumn': 272},
10 {'sales_volumn': 456},
11 {'sales_volumn': 440},
12 {'sales_volumn': 239}]
13 print(sorted(lst1,key=lambda x:x['sales_volumn']))
View Code