Pythonの匿名関数とは何ですか

匿名機能

lambda x , y : x+y

  1. 匿名性の目的は名前を持たないことです。匿名関数に名前を割り当てることは無意味です。

  2. 匿名関数のパラメーター規則とスコープの関係は、よく知られている関数のものと同じです。

  3. 匿名関数の本体は通常式である必要があり、式には戻り値が必要です。

f=lambda x,n:x ** n

print(f(2,3))

ラムダ匿名関数の適用:** max、min、sorted、map、reduce、filter **

最高の給与を求めて:最大

salaries={'egon':3000,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}
def get(k):return salaries[k]print(max(salaries,key=get)) #'alex'print(max(salaries,key=lambda x:salaries[x]))
info =[{'name':'egon','age':'18','salary':'3000'},{'name':'wxx','age':'28','salary':'1000'},{'name':'lxx','age':'38','salary':'2000'}]max(info, key=lambda dic:int(dic['salary']))max([11,22,33,44,55])

最低賃金を求める人:分

salaries={'egon':3000,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}print(min(salaries,key=lambda x:salaries[x]))  # 'yuanhao' 
 info=[{'name':'egon','age':'18','salary':'3000'},{'name':'wxx','age':'28','salary':'1000'},{'name':'lxx','age':'38','salary':'2000'}]min(info,key=lambda dic:int(dic['salary']))

sortは、salaryに従ってsalary辞書をソートします

salaries={'egon':3000,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}
alaries=sorted(salaries) #デフォルトで辞書キーで並べ替え
print(salaries)
# salaries=sorted(salaries,key=lambda x:salaries[x]) #デフォルトは昇順です
alaries=sorted(salaries,key=lambda x:salaries[x],reverse=True) #降順
print(salaries)
info=[{'name':'egon','age':'18','salary':'3000'},{'name':'wxx','age':'28','salary':'1000'},{'name':'lxx','age':'38','salary':'2000'}]
l=sorted(info,key=lambda dic:int(dic['salary']))

マップマッピング、ループ各要素に関数を実行させ、各関数の実行結果を新しいリストに保存します

v1 =[11,22,33,44]
result =map(lambda x:x+100,v1) #最初のパラメータは実行される関数です,2番目のパラメーターは反復可能な要素です.print(list(result)) # [111,122,133,144]
names=['alex','wupeiqi','yuanhao','egon']
res=map(lambda x:x+'_NB'if x =='egon'else x +'_SB',names)print(list(res))

パラメータシーケンスの要素を減らし、蓄積します

import functools
v1 =['wo','hao','e']
def func(x,y):return x+y
result = functools.reduce(func,v1)print(result)  # wohaoe
result = functools.reduce(lambda x,y:x+y,v1)print(result)  # wohaoe
from functools import reduce
l=['my','name','is','alex','alex','is','sb']
res=reduce(lambda x,y:x+' '+y+' ',l)print(res)
# my name is alex alex is sb

フィルター、条件でフィルター

result=filter(lambda x:x   2,[1,2,3,4])print(list(result))
v1 =[11,22,33,'asd',44,'xf']
# 一般的な慣行
def func(x):iftype(x)== int:return True
 return False
result =filter(func,v1)print(list(result))   # [11,22,33,44]
# 簡素化されたアプローチ
result =filter(lambda x: True iftype(x)== int else False ,v1)print(list(result))
# ミニマリストアプローチ
result =filter(lambda x:type(x)== int ,v1)print(list(result))
names=['alex_sb','wxx_sb','yxx_sb','egon']
res=filter(lambda x:True if x.endswith('sb')else False,names)
res=filter(lambda x:x.endswith('sb'),names)print(list(res))    #['alex_sb','wxx_sb','yxx_sb']
ages=[18,19,10,23,99,30]
res=filter(lambda n:n  =30,ages)print(list(res))    #[99,30]
salaries={'egon':3000,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}
res=filter(lambda k:salaries[k]=10000,salaries)print(list(res))      #['alex','wupeiqi']

コンテンツの拡張:

匿名の関数呼び出し

ステップ1:変数を介して作成された匿名関数を受け取ります。

ステップ2:変数を使用して匿名関数を呼び出します。

例えば

最初のステップ:匿名関数を作成します。役割は、2つの数値の合計を達成することです。

lambda num1 , num2 : num1 + num2

ステップ2:変数を使用してこの匿名関数を受信します

sum = lambda num1 , num2 : num1 + num2

ステップ3:この匿名関数を呼び出す

sum(10 , 20)

これまで、Pythonの匿名関数とは何かに関するこの記事を紹介しました。より関連性の高いPython匿名関数の知識の概要コンテンツについては、ZaLou.Cnを検索してください。

Recommended Posts

Pythonの匿名関数とは何ですか
pythonでのadbの機能は何ですか
pythonのイントロスペクションとは何ですか
pythonのオブジェクト指向とは何ですか
pythonのリスト内包表記とは何ですか
pythonに関数のオーバーロードはありますか
Pythonのすべてがオブジェクトです
python言語のアルゴリズムはありますか
pythonのid関数は何ですか
Pythonのシーケンステーブルとは
pythonの関数本体は何ですか
pythonにヘルパー関数はありますか
Pythonの結合関数
pythonは解釈された言語ですか?
Python変数スコープとは
Pythonでのrc1の意味
pythonのdefは何をしますか
Pythonの用途は何ですか
Pythonの数字は何ですか?
npはpythonで何をしますか
python変数の範囲は何ですか
pythonでid関数を実行する方法
pythonのWeb開発フレームワークとは何ですか
自習用pythonに適したシステム
python開発の見通しは何ですか
pythonの数値は可変型ですか
Pythonは主にどの方向に使用されます
pythonでround関数を使用する方法
Python 3.9が登場!
pythonの関数
Pythonでzip関数を使用する方法
Pythonでの歩留まりを理解するための記事
pythonのタブキーはどういう意味ですか
pythonでformat関数を使用する方法
pythonとpycharmの違いは何ですか
Python enumerate()関数
Python関数バッファー
同期Pythonと非同期Pythonの違いは何ですか?
エンタープライズ言語に対するpythonの利点は何ですか
Pythonの無限ループに必要な条件
IEを添付ファイルとしてPythonで保存する方法
pythonでファイルを開く方法は何ですか
なぜpythonが人気なのか
Pythonは短いクロール音楽です
Pythonはゆっくりと衰退しています
Pythonカスタム関数の基本
Pythonでできること
12.Python3でのネットワークプログラミング
pythonでステートメントを印刷する
Python組み込み関数-compile()
Python関数の基礎学習
Pythonデータ分析-関数の適用
Python3組み込み関数table.md
Pythonでの同時リクエスト
Ubuntuにpythonをインストールする
Pythonでのコンテキスト管理
pythonの算術演算子
pythonでguiを書く
Pythonプリントプリントタイマー機能
PythonでのMongoDBの使用
PythonのStr文字列