# 4. 用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb
name=['oldboy','alex','wusir']
m = map(lambda el:el+"_sb",name)
print(list(m))
# 5.用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
l = [{'name':'alex'},{'name':'y'}]
m = map(lambda el:el['name']+'sb',l)
print(list(m))
# 6,用filter来处理,得到股票价格大于20的股票名字
shares={
'IBM':36.6,
'Lenovo':23.2,
'oldboy':21.2,
'ocean':10.2,
}
f =filter(lambda el:shares[el]>20,shares) # shares取得的是键, el为键
print(list(f))
# 7.有下面字典,得到购买每只股票的总价格,并放在一个迭代器中。
# 结果:list一下[9110.0, 27161.0,......]
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}
]
m = map(lambda el:el['shares']*el['price'],portfolio)
print(list(m))
# 8. 还是上面的字典,用filter过滤出单价大于100的股票。
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}
]
f = filter(lambda el:el['price']>100,portfolio)
print(list(f))
# 9. 有下列三种数据类型,
# 写代码,最终得到的是(每个元祖第一个元素>2,第三个*至少是4个。)
# [(3, 'wusir', '****'), (4, '太白', '*******')]这样的数据。
l1 = [1,2,3,4,5,6]
l2 = ['oldboy','alex','wusir','太白','日天']
tu = ('**','***','****','*******')
# 将三种数据类型之间的元素进行组合,得到元组的列表
def func(a,b,c):
li = []
for i in a:
for j in b:
for k in c:
li.append((i,j,k))
return li
lst = func(l1,l2,tu)
# 筛选出第一个元素大于2和第三个元素长度大于4的
m = filter(lambda el: el[0] > 2 and len(el[2]) >= 4, lst)
print(list(m))
# 10.将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}]
s = sorted(l1,key=lambda el:el['sales_volumn'])
print(s)