4-9 內置函數和匿名函數的題
阿新 • • 發佈:2018-04-10
portfolio 得到 span *** val 匿名 匿名函數 1.2 代碼
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)
4-9 內置函數和匿名函數的題