您好,登錄后才能下訂單哦!
'''
1 匿名函數:就是沒有名字的函數
2 為何要用:
用于僅僅臨時使用一次的場景,沒有重復使用的需求
'''
def sum2(x,y):
return x+y
# print(lambda x,y:x+y)
# print((lambda x,y:x+y)(1,2))
# 匿名函數的精髓就是沒有名字,為其綁定名字是沒有意義的
# f=lambda x,y:x+y
# print(f)
# print(f(1,2))
# 匿名函數與內置函數結合使用
# max,min,sorted,map,filter,reduce
salaries={
'egon':300000,
'alex':100000000,
'wupeiqi':10000,
'yuanhao':2000
}
# 求薪資最高的那個人名:即比較的是value,但取結果是key
# res=max(salaries)
# print(res)
# 可以通過max函數的key參數來改變max函數的比較依據,運行原理:
# max函數會“for循環”出一個值,然后將該值傳給key指定的函數
# 調用key指定的函數,將拿到的返回值當作比較依據
# def func(name):
# # 返回一個人的薪資
# return salaries[name]
#
# res=max(salaries,key=func) #'egon'
# print(res)
# 求最大值
# res=max(salaries,key=lambda name:salaries[name]) #'egon'
# print(res)
# 求最小值
# res=min(salaries,key=lambda name:salaries[name]) #'egon'
# print(res)
# sorted排序
# nums=[11,33,22,9,31]
# res=sorted(nums,reverse=True)
# print(nums)
# print(res)
# salaries={
# 'egon':300000,
# 'alex':100000000,
# 'wupeiqi':10000,
# 'yuanhao':2000
# }
# for v in salaries.values():
# print(v)
# res=sorted(salaries.values())
# print(res)
# res=sorted(salaries,key=lambda name:salaries[name],reverse=True)
# print(res)
max,min,sorted(字典,key=func)
max,min.sorted for循環出字典的key,將key當做func的參數
map,reduce,filter(匿名函數,列表)
# map:把一個列表按照我們自定義的映射規則映射成一個新的列表
# names=['alex','lxx','wxx','yxx']
# res=map(lambda name: name + "dSB", names)
# print(list(res))
# filter: 從一個列表中過濾出符合我們過濾規則的值
# 運行原理:相當于for循環取出每一個人名,然后傳給匿名函數,將調用匿名函數返回值為True的那個人名給留下來
# names=['alex_sb','lxx_sb','wxx_sb','egon','yxx']
# res=filter(lambda name:name.endswith('sb'),names)
# print(list(res))
# print([name for name in names if name.endswith('sb')])
# reduce: 把多個值合并成一個結果
from functools import reduce
l=['a','b','c','d']
# res=reduce(lambda x,y:x+y,l,'A')
#'A','a' => 'Aa'
#'Aa','b'=>'Aab'
#'Aab','c'=>'Aabc'
#'Aabc','d'=>'Aabcd'
# print(res)
# res=reduce(lambda x,y:x+y,l)
#'a','b'=>'ab'
# print(res)
# res=reduce(lambda x,y:x+y,range(1,101))
#1,2=>3
#3,3=>6
# print(res)
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。