欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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>

python 小技巧: Lambda表达式

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)) )