匿名函数
有名函数:
def func1(x):return x**2print(func1)
结果:
匿名函数:
func2=lambda x: x**2print(func2)
结果:4
f1=lambda x,y:x+y
print(f1(1,2))
结果:3
f2=lambda x:x>1print(f2(3))
结果:
True
salaries={'egon':3000,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}
print(max(salaries,key=lambda x:salaries[x]))
结果:
alex
内置函数
字典的运算:最小值min,最大值max,排序sorted
迭代字典,取得是key,因而比较的是key的最大和最小值
可以取values,来比较
>>> max(salaries.values())
>>> min(salaries.values())
但通常我们都是想取出,工资最高的那个人名,即比较的是salaries的值,得到的是键
>>> max(salaries,key=lambda k:salary[k])
'alex'
>>> min(salaries,key=lambda k:salary[k])
'yuanhao'
也可以通过zip的方式实现
salaries_and_names=zip(salaries.values(),salaries.keys())
先比较值,值相同则比较键
>>> max(salaries_and_names)
(100000000, 'alex')
salaries_and_names是迭代器,因而只能访问一次
>>> min(salaries_and_names)
Traceback (most recent call last):
File "", line 1, in
ValueError: min() arg is an empty sequence
salaries={'egon':3000,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}
print(max(salaries)) #迭代字典,取得是key,因而比较的是key的最大和最小值
print(max(salaries.values()))
结果:
yuanhao100000000
salaries={'egon':3000,'alex':100000000,'wupeiqi':10000,'yuanhao':2000}
res=zip(salaries.values(),salaries.keys())for i inres:
print(i)
结果:
(3000,