码迷,mamicode.com
首页 > 编程语言 > 详细

Python函数之匿名函数

时间:2019-01-20 18:57:04      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:div   书写规则   规则   函数   lambda   [1]   lis   code   nbsp   

一:概述

匿名函数主要用来处理比较简单的逻辑,用一行显示,并将运算结果作为返回值返回

 

二:书写规则

函数名 = lambda 参数:返回值

参数可以有多个,多个参数使用逗号分隔

 

三 :例子

 

将func函数书写成匿名函数

def func(x):
    return x**2
ret = func(2)
print(ret)

func_lambda = lambda x:x**2
ret = func_lambda(2)
print(ret)

 

匿名函数主要和其他函数配合使用

 

和max函数配合使用

# 根据字典的值返回最大的键

# 原始做法

dic={k1:10,k2:100,k3:30}
def func(k):
    return dic[k]
ret = max(dic,key=func)
print(ret)

# 使用lambda
dic={k1:10,k2:100,k3:30}
ret = max(dic,key=lambda k:dic[k])
print(ret)

 

和map函数配合使用

# 将列表元素求平方
# 传统做法
l = [1,2,3,4,5]
def func(x):
    return x**2
ret = map(func,l)
for i in ret:
    print(i)

# lambda
l = [1,2,3,4,5]
ret = map(lambda x:x**2,l)
for i in ret:
    print(i)

 

和map函数混合使用

# 现有两个元组((‘a‘),(‘b‘)),((‘c‘),(‘d‘)),请使用python中匿名函数生成列表[{‘a‘:‘c‘},{‘b‘:‘d‘}]

ret = zip(((a),(b)),((c),(d)))
def func(x):
    return {x[0]:x[1]}
res =list(map(func,ret))
print(res)


res = list(map(lambda x:{x[0]:x[1]},zip(((a),(b)),((c),(d)))))
print(res)

 

Python函数之匿名函数

标签:div   书写规则   规则   函数   lambda   [1]   lis   code   nbsp   

原文地址:https://www.cnblogs.com/wc89/p/10295597.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!