4-9 内置函数和匿名函数的题

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

name=['oldboy','alex','wusir']
name1 = [i for i in map(lambda x:x+'_sb',name)]
print(name1)

2,用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾

l=[{'name':'alex'},{'name':'y'}]
l2 = [i for i in map(lambda x:x['name']+'_sb',l)]
print(l2)

3,用filter来处理,得到股票价格大于20的股票名字

shares={
   'IBM':36.6,
   'Lenovo':23.2,
   'oldboy':21.2,
   'ocean':10.2,
}
l = filter(lambda x:shares[x]>20,shares)
for i in l:
    print(i)

4,有下面字典,得到购买每只股票的总价格,并放在一个迭代器中。

portfolio = [
    {'name': 'IBM', 'shares': 100, 'price': 91.1},
    {'name': 'AAPL', 'shares': 50, 'price': 543.22},
    {'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}]
li = [i for i in map(lambda x: x['price'] * x['shares'], portfolio)]
print(li)

5,还是上面的字典,用filter过滤出单价大于100的股票。

li = [i for i in filter(lambda x:x['price']>100,portfolio)]
print(li)

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

l1 = [1,2,3,4,5,6]
l2 = ['oldboy','alex','wusir','太白','日天']
tu = ('**','***','****','*******')
for i in zip(l1,l2,tu):
    print(i)

7,将l1按照列表中的每个字典的values大小进行排序,形成一个新的列表。

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}]
li = sorted(l1,key=lambda i:i['sales_volumn'])
print(li)

 

posted @ 2018-04-09 21:38  大叔级别  阅读(140)  评论(0编辑  收藏  举报