python之高階函數

1).map函數:map()函數接收兩個參數,一個是函數,一個是序列,map將傳入的函數依次做用到序列的每一個元素,並把結果做爲新的list返回。python

example:數據結構

  對於序列每一個元素求絕對值;
app

2).reduce函數:reduce把一個函數做用在一個序列[x1,x2,x3...]上,這個函數必須接收兩個參數,reduce把結果繼續和序列的下一個元素作計算。函數

       - python2中,爲內置函數;
       - python3中,導入reduce, from functools import reduce

spa

example:對象

  求序列的累加和blog

3).filter函數:filter()也接收一個函數和一個序列。和map()不一樣的是,filter()把傳入的函數依次做用於每一個元素,而後根據返回值是True仍是False決定保留仍是丟棄該元素。排序

example:ip

  在一個list中,刪掉偶數,只保留奇數:get

4).sorted函數:

1.lisort()和()兩種方法的區別?
 1).列表裏面提供了sort方法,其它數據結構沒有.sorted方法能夠對任何可迭代對象排序
 2).sort方法支持原地排序(變量排序後,變量自己改變),sorted排序後返回一個新的列表,並不改變原有變量

默認sort和sorted方法由小到大進行排序排序,reverse=True時,由小到大進行排序

example:

  對於字典裏面嵌套字典進行排序
  d = {
      '003':{
          'name':'apple1',
          'count':100,
          'price':10,
      },
      '002':{
          'name':'apple1',
          'count':200,
          'price':2
      }
  }
  print(d.items())
  print(sorted(d.values(),key=lambda x:x['count']))
  from operator import itemgetter
  print(sorted(d.values(),key=itemgetter('price')))

相關文章
相關標籤/搜索