一 .匿名函式
顧名思議就是沒有名字的函式,那為什麼要設立匿名函式,他有什麼作用呢?lambda 函式就是一種快速定義單行的最小函式,可以用在任何需要函式的地方。
常規版:
def fun(x,y)
return x*y
lambda
示例:/usr/bin/python
#coding=utf-8
#@time :2017/11/2 15:14
#@auther :liuzhenchuan
#@file :高階函式下和匿名函式.py
#匿名函式,就是沒有名字的函式
def sum(x,y):
return x+y
# print sum(4,5)
m = lambda x,y:x+y
print m(4,5)
>>> 9
sorted() 函式
sorted(iterable,cmp=none,key=none,reverse=false)--->new sorted list
對字典進行排序,按照value進行排序
mm =dict(a=1,b=10,c=3,d=9)
作用:返回乙個經過排序的列表
第乙個引數是乙個iterable(可迭代的),返回值是乙個對iterable中元素進行排序後的列表
可選的引數有三個,cmp,key,reverse
1》cmp 指定乙個定製的比較函式,這個函式接收兩個引數(iterable的元素),如果第乙個引數小於第二個引數,返回乙個負數;如果第乙個引數等於第二個引數,返回零;如果第乙個引數大於第二個引數,返回乙個正數,預設值為none。
2》key 指定乙個接收乙個引數的函式,這個函式用於從每個元素中提取乙個用於比較的關鍵字,預設值為none
3》reverse 是乙個布林值,如果設定為true,列表元素將被倒序排列。
示例:#匿名函式,就是沒有名字的函式
def sum(x,y):
return x+y
# print sum(4,5)
m = lambda x,y:x+y
print m(4,5)
print '####列印字典##'
mm=dict(a=1,c=10,b=8,d=5)
print mm
print '#######列印keys########'
for i in mm:
print i
print '########列印keys和values##'
for key,value in mm.iteritems():
print (key,value)
print '#######對keys和values排序############'
#keys 定義匿名函式lambda, d為key 通過d[1]取到value
test=sorted(mm.iteritems(),key=lambda d: d[1])
print test
>>>
####列印字典##
#######列印keys########ac
bd########列印keys和values##
('a', 1)
('c', 10)
('b', 8)
('d', 5)
#######對keys和values排序############
[('a', 1), ('d', 5), ('b', 8), ('c', 10)]
python基礎之高階函式(下)
高階函式是滿足下列條件之一的即為高階函式。高階函式的引入 1 1 定義乙個函式,將指定列表中的偶數,儲存到乙個新的列表中。list list range 1 11,1 deffn a new list for i in list if i 2 0 return new list print fn l...
python基礎 高階函式
把函式作為引數傳入,這樣的函式稱為高階函式,高階函式是函式式程式設計的體現。函式式程式設計就是指這種高度抽象的程式設計正規化。在python中,abs 函式可以完成對數字求絕對值計算。abs 10 10round 函式可以完成對數字的四捨五入計算。round 1.2 1 round 1.9 2def...
Python基礎 高階函式 Map Reduce
map 函式接受2個引數 1.引數 函式 2.引數 iterable 示例 usr bin env python3 coding utf 8 map 函式的使用 轉換為字串 deffuntion x return str x deftest mlist 1,2,3,4,5 list 1,2,3,4,...