您的位置:首页 > 编程语言 > Python开发

python基础-匿名函数

2017-11-10 21:02 267 查看

匿名函数

cal = lambda n:n**n #lambda表达式、匿名函数
print(cal(2))
cal = lambda: 1==2 #lambda表达式、匿名函数
print(cal())
cal = lambda n: True if 1==2 else False #lambda表达式、匿名函数
print(cal(6))

print("----2个参数情况------")

add = lambda x,y:x+y
print(add(1,2))


输出如下:

4
False
False
3


max跟匿名结合

dic={'k1':10,'k2':100,'k3':30}
print(max(dic.values()))
print(max(dic))
print(max(dic,key=lambda k:dic[k]))


输出如下:

100
k3
k2


map跟匿名结合

ret = map(lambda x:x*x,[1,2,3,4,5,6,7,8])
print(list(ret))


输出如下:

[1, 4, 9, 16, 25, 36, 49, 64]


filter跟匿名结合

print("------filter跟匿名结合-------")
def func(num):
return num>99 and num<1000
ret = filter(lambda num: num>99 and num<1000,[1,4,6,823,67,23])
print(list(ret))

print("-----------------------")

ret = filter(lambda num:num>10,[1,4,6,823,67,23])
print(list(ret))
ret = filter(lambda num:True if num>10 else False,[1,4,6,823,67,23])
print(list(ret))


输出如下:

E:\python\python_sdk\python.exe E:/python/py_pro/3.匿名函数.py
------filter跟匿名结合-------
[823]
-----------------------
[823, 67, 23]
[823, 67, 23]

Process finished with exit code 0


匿名函数面试题

#2.现有两元组(('a'),('b')),(('c'),('d')),
# 请使用python中匿名函数生成列表[{'a':'c'},{'b':'d'}]
t1 = (('a'),('b'))
t2 = (('c'),('d'))
t3 = zip(t1,t2)  #[('a','c'),('b','d')]
print(list(map(lambda t:{t[0]:t[1]},[('a','c'),('b','d')])))

#3.
def multipliers():
return (lambda x:i*x for i in range(4))

s = (lambda x:i*x for i in range(4))
print([m(2) for m in s])

s = (lambda x:i*x for i in range(4))
print(list(s))


输出如下:

E:\python\python_sdk\python.exe E:/python/py_pro/4匿名函数面试题.py
[{'a': 'c'}, {'b': 'd'}]
[0, 2, 4, 6]
[<function <genexpr>.<lambda> at 0x038E1A50>, <function <genexpr>.<lambda> at 0x038E19C0>, <function <genexpr>.<lambda> at 0x038E1A08>, <function <genexpr>.<lambda> at 0x038E1978>]

Process finished with exit code 0
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: