python学习——内置函数练习

用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

 



posted @ 2019-08-12 17:35  陪伴is最长情的告白  阅读(184)  评论(0编辑  收藏  举报