匿名函數(shù)與內置函數(shù)結合使用max,min,sorted,map,filter,reduce

'''

創(chuàng)新互聯(lián)公司專注于企業(yè)全網整合營銷推廣、網站重做改版、平原網站定制設計、自適應品牌網站建設、html5、購物商城網站建設、集團公司官網建設、成都外貿網站制作、高端網站制作、響應式網頁設計等建站業(yè)務,價格優(yōu)惠性價比高,為平原等各大城市提供網站開發(fā)制作服務。

1 匿名函數(shù):就是沒有名字的函數(shù)

2 為何要用:

    用于僅僅臨時使用一次的場景,沒有重復使用的需求

'''

def sum2(x,y):

    return x+y

# print(lambda x,y:x+y)

# print((lambda x,y:x+y)(1,2))

# 匿名函數(shù)的精髓就是沒有名字,為其綁定名字是沒有意義的

# f=lambda x,y:x+y

# print(f)

# print(f(1,2))

# 匿名函數(shù)與內置函數(shù)結合使用

# max,min,sorted,map,filter,reduce

salaries={

    'egon':300000,

    'alex':100000000,

    'wupeiqi':10000,

    'yuanhao':2000

}

# 求薪資最高的那個人名:即比較的是value,但取結果是key

# res=max(salaries)

# print(res)

# 可以通過max函數(shù)的key參數(shù)來改變max函數(shù)的比較依據(jù),運行原理:

# max函數(shù)會“for循環(huán)”出一個值,然后將該值傳給key指定的函數(shù)

# 調用key指定的函數(shù),將拿到的返回值當作比較依據(jù)

# 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循環(huán)出字典的key,將key當做func的參數(shù)

map,reduce,filter(匿名函數(shù),列表)

# map:把一個列表按照我們自定義的映射規(guī)則映射成一個新的列表

# names=['alex','lxx','wxx','yxx']

# res=map(lambda name: name + "dSB", names)

# print(list(res))

# filter: 從一個列表中過濾出符合我們過濾規(guī)則的值

# 運行原理:相當于for循環(huán)取出每一個人名,然后傳給匿名函數(shù),將調用匿名函數(shù)返回值為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)

新聞標題:匿名函數(shù)與內置函數(shù)結合使用max,min,sorted,map,filter,reduce
瀏覽地址:http://bm7419.com/article42/pscdhc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)建站、軟件開發(fā)、建站公司網站收錄、品牌網站建設用戶體驗

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都網站建設公司