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時,由小到大進行排序
對於字典裏面嵌套字典進行排序
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')))