Pythonの組み込み関数は、匿名関数を追加します

python3無名関数

機能や変数の定義は、よく知られた機能と非常に似て、変数名を介してアクセスする必要があります

def func(x,y,z=1):
    return x+y+z

print(func(1,2,3))

匿名関数定義:匿名関数を作成するために、ラムダを使用して

内蔵のリターン機能本体:名前のない2 1.無名関数

無名関数


def func(x,y,z=1):

return x+y+z
print(lambda x,y,z=1:x+y+z)

function <lambda> at 0x0000000003469488>
匿名函数也是一个函数对象,匿名函数赋值给一个变量,再利用变量来调用该函数
f=lambda x,y,z=1:x+y+z
print(f)
print(f(1,2,3))

シナリオ無名関数:一回限りのシナリオに適用され、一時的に使用

組み込み関数を使用して、匿名関数の使用と併せて2、

MAX、MIN、並べ替え、マップ、削減、フィルタの使用

計算辞書:最小値、最大値、発注


salaries={
'egon':3000,
'alex':100000000,
'wupeiqi':10000,
'yuanhao':2000
}

print(max(salaries))  #  默认比较key值大小
print(max(salaries.values()))  # 比较values值
print(max(salaries,key=lambda name:salaries[name]))  取values,来比较
print(min(salaries,key=lambda name:salaries[name])) 取values,来比较
print(max(zip(salaries.values(),salaries.keys()))[1])  # 通过zip的方式实现




def get_value(name):
    return salaries[name]
print(max(salaries,key=get_value))

names=['alex','wupeiqi','yuanhao','yanglei','egon']
res=map(lambda x:x if x == 'egon' else x+'二狗子',names)
print(res)
print(list(res))

names=['alex','wupeiqi','yuanhao','yanglei','egon']

def my_map(func,seq):

    for item in seq:

        yield func(item)

res1=my_map(lambda x:x+'_二狗',names)

print(next(res1))

print(next(res1))

functools中导入reduce模块

from functools import reduce
print(reduce(lambda x,y:x+y,range(101),100))
print(reduce(lambda x,y:x+y,range(101)))
names=['alex_二狗','wupeiqi_二狗','yuanhao_二狗','yanglei_二狗','egon']

print(list(filter(lambda name:name.endswith('二狗'),names)))

おすすめ

転載: www.cnblogs.com/xxpythonxx/p/11329531.html