python 小技巧: Lambda表达式
程序员文章站
2024-02-26 18:58:10
...
lambda:
<EG.1>
def f(x): return x*x
=>
f = lambda x: x*x
<< print(f(5))
.. 25
def g(x,y): return x+y
=>
g = lambda x,y: x+y
<< print(g(2,3))
.. 5
<EG.2>
def get_popullation(country):
return country[2]
=>
get_popullation = lambda country: country[2]
countries = []
file = open("countries_zh.csv", "r")
for line in file:
line = line.strip()
arr = line.split(",")
name = arr[1]
capt = arr[3]
popu = int(arr[4])
countries.append((name, capt, popu))
countries.sort(key=get_population)
=>
countries.sort(key=lambda country: country[2])
for country in countries:
print(country)
<EG.3>
Q: f(x) = ax^2 + bX + c
def quadratic(a, b, c):
return lambda x: a*x*x + b*x + c
f = quadratic(1, -1, 2)
print( f(5) )
=>
print( (quadratic(1, -1, 2)(5)) )
上一篇: Spring学习笔记--【01】