您现在的位置:首页 >> 自然生态

Python值得注意函数一点都不“值得注意”

时间:2025-02-21 12:27:19

作者:小K

相关联:麦叔编程

现实生活中的我一看到新进两个字,就会下意识的眉头一在手,希望着肯定是什么高难度的玩意。

但Python的新进线性并不是要Python水平很高的专业人才能去用,毕竟现实整合中的还人口为129人常见的,往往可能用到了也不知道这个叫做新进线性。

照片内容可与本文无关

什么是新进线性? ❝ Python的新进线性毕竟就是接受线性为变量,或者把线性作为结果返回的线性是新进线性(higher-order function)。 ❞

假如有个需求:写个abs_add线性,求两个数值的最小值之和。

这很比较简单,

第一种写法

def abs_add(v1, v2):

return abs(v1) + abs(v2)

r = abs_add(-5, 6)

print(r)

运转结果:

11

第二种写法

def abs_add(v1, v2, func):

return func(v1) + func(v2)

r = abs_add(-5, 6, abs)

print(r)

运转结果:

11

「这里的代码把abs这个移动设备线性作为变量传进abs_add线性中的,那么此时abs_add就成了新进线性。」

运用于示例查找中的

cars = ['Toyota', 'GM', 'Volkswagen', 'Honda', 'Tesla', 'Benz']

print(sorted(cars, key=len)) # 根据正则表达式大小进行查找

输入结果:

['gm', 'benz', 'honda', 'tesla', 'toyota', 'volkswagen']

根据正则表达式大小查找(sorted和len都是移动设备线性)。

假如我现在希望按照列出中的的最后一个正则表达式的罗马字母进行查找,那么我怎么怎么去写key呢?

❝ Toyota的最后一个个字符是a,gm则是m,正常正则表达式查找出来都是按照首个字符的罗马字母abc...查找。 ❞ 先为实现正则表达式好似

def reverse(string):

return string[::-1]

print(reverse('BMW'))

输入结果

WMB

再把这个线性作为key变量传入sorted线性

cars = ['toyota', 'gm', 'volkswagen', 'honda', 'tesla', 'benz']

def reverse(string):

return string[::-1]

print(sorted(cars)) # 非好似查找

print(sorted(cars, key=reverse)) # 好似查找

输入结果:

['benz', 'gm', 'honda', 'tesla', 'toyota', 'volkswagen']

['honda', 'tesla', 'toyota', 'gm', 'volkswagen', 'benz']

后记

Python最常见的新进线性还有map、filter 和 reduce,分别实现映射,筛选和运算的功能,当然它们也可以传入很多“条件”。

时至今日三分钟结束,不感兴趣的赌客可以继续探究以上三个新进线性。

「新进线性,你学复旧了么?」

北京肛肠医院哪家好
湖北妇科检查哪家医院好
郑州看白癜风去哪里比较好
长沙看白癜风哪里好
杭州看白癜风的专业医院
牙痛快速止痛方法
英太青和塞来昔布哪个好
乌梅人丹对口臭有用吗
乐睿灵和先诺欣
双氯芬酸钠缓释胶囊治牙疼吗
相关阅读