python 小技巧: Lambda表达式

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)) )
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值