一:用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb
1 name=['oldboy','alex','wusir']
2 print(list(map(lambda el :el+'_sb',name )))
二:用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
l=[{'name':'alex'},{'name':'y'}]
print(list(map(lambda el:{'name':el['name']+'sb'},l)))
三:用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 el :shares[el]>20,shares)))
四:有下面字典,得到购买每只股票的总价格,并放在一个迭代器中。
结果:list一下[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(el['shares']*el['price'] for el in portfolio))
五:还是上面的字典,用filter过滤出单价大于100的股票。
1 a=list(filter(lambda el : el['price']>100 ,portfolio))
2 print(a)
3
4 b=list(i['name'] for i in a)
5 print(b) #打印满足条件的名字
六:有下列三种数据类型,
l1 = [1,2,3,4,5,6]
l2 = ['oldboy','alex','wusir','太白','日天']
tu = ('**','***','****','*******')
写代码,最终得到的是(每个元祖第一个元素>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 el :el[0]>2 and len(el[2])>=4 ,list(zip(l1,l2,tu)))))
七:有如下数据类型:
l1 = [ {'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}]
# 将l1按照列表中的每个字典的values大小进行排序,形成一个新的列表。
1 l1 = [ {'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 li = sorted(l1,key=lambda el:el['sales_volumn'])
14 print(li)