小编写这篇文章的话,主要是给大家做出一个解答,解答一些Python常见问题,比如关于编程函数的一些问题,哪些函数编程是最受用的呢?下面就给大家详细介绍一下。
合理的使用Python这门工具,能够大大的提高其工作效率,起到事半功倍的作用。
1.Map函数
map函数可以使用另外一个函数转换整个可迭代对象的函数,包括将字符串转换为数字、数字的四舍五入等等。
之所以使用map函数来完成这些事情可以节约内存,使代码的运行速度提高,并且使用的代码量比较少。
比如这里需要将一个字符串的数组转换成数字的数组的形式。
使用传统的方式来进行解析的话,使用for循环的方式就需要好几行的代码才能完成。
strings=['1','2','3','4'] res=[] for str_ in strings: res.append(int(str_)) print(res) #[1,2,3,4]
使用map函数直接需要一行代码就可以完成了。
strings=['5','6','7','8'] res_map=map(int,strings) print(list(res_map)) #[5,6,7,8]
使用map(int,strings),其中int是作为函数作为参数传入的,而strings就是可以迭代的对象。
这里再使用一个我们自己创建的函数来转换可序列化的数据。
初始化一个make_super函数用来将英文字符串转换成'大写'的字符串。
def make_super(text): res_text=text.upper() return res_text words=['python','java','scala'] words_res=list(map(make_super,words)) print(words_res) #['PYTHON','JAVA','SCALA']
使用map(make_super,words),其中make_super是作为函数传入的,而words作为可序列化数据。
2.Lamdba函数
lambda函数用于创建匿名函数,又被称为lambda表达式。实际上它只是一个表达式的存在,如果在代码编写过程中需要实现简单的函数逻辑但是多带带写一个函数又比较麻烦就可以使用lambda表达式只需要一行代码就可以完成了。
比如需要实现一个简单的加法计算,使用基本的函数来实现需要创建一个add_1函数。
def add_1(a,b): return a+b print(add_1(5,2))
而使用lambda表达式,一行代码就可以直接完成了,可以像下面这样写。
add_2=lambda a,b:a+b print(add_2(10,10))
lambda a,b:a+b表示a,b是作为参数,a+b是作为函数的运算逻辑被执行。
3.Enumerate函数
enumerate函数一般用于可序列化数据的处理上面,而python中的可序列化数据又比较多,重要性就可想而知了。
可以使用该函数直接遍历出一个可序列化数据的下标索引以及对应的数据。
使用一个列表数据来进行举例说明。
words=['java','python','scala']
使用enumerate函数来执行一下整个遍历,最终返回一个新的列表。
for index,data in enumerate(words): print(f'当前索引:{index},当前数据:{data}') #当前索引:0,当前数据:java #当前索引:1,当前数据:python #当前索引:2,当前数据:scala
看到返回的结果中包含了索引、数据,这样便于数据的组织和统计,因此,将该函数也列为比较常用的函数之一。
4.Reduce函数
reduce函数通常用于计算整个列表的逻辑运算,也就是将一个函数的运算可以添加到这个列表的每个元素上面。
''' reduce(function,iterable[,initializer]) '''
比如需要计算一个列表中每个元素之间的相乘的结果,则可以这样写。
from functools import reduce list_=[10,20,30,40] print(reduce(lambda a,b:a*b,list_))
这里由于函数的逻辑运算比较简单,所以使用了lambda表达式表示两个元素相乘。
最终再使用reduce函数,它的效果相当于10*20*30*40,结果就是240000,和我们预想得到的计算结果是一致的。
5.Filter函数
filter函数,从字面意思就可以看出它是过滤的意思,使用该函数可以有效的过滤掉不需要的列表中的数据元素。
''' filter(function,iterable) '''
在逻辑处理中,同样是需要一个处理函数和一个可序列化的数据。
nums=[1,2,3,4,5,6,7,8,9,20] nums_new=filter(lambda m:m%2==0,nums) print(list(nums_new)) #[2,4,6,8,20]
这里我们成功过滤掉了所有的奇数数据元素,最终只留下了偶数元素。
6.Zip函数
zip函数在多个列表的组装过程中用到非常的多,可以同时遍历多个列表并将相同位置的元素组合成一个元祖。
list_res=[] for n in zip([1,2,3,4,5],['python','java','scala','c++','C#']): list_res.append(n) print(list_res) #[(1,'python'),(2,'java'),(3,'scala'),(4,'c++'),(5,'C#')]
使用zip函数时,像这样的数据组合就可以轻松的实现。
通过观察上述的这些操作发现基本上都是对可序列化的数据的相关操作,因为在python的编码过程中大多数的数据处理相关的操作都是基于可序列化的数据的。
综上所述,关于Python编程受欢迎的内置函数就为大家介绍到这里了。
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/128000.html
摘要:使用或机器语言的外部功能包处理时间敏感任务,可以有效提高应用的运行效率。关键在于,优化循环方案是提高应用程序运行速度的上佳选择。此外,关于交叉编译是否为提高运行效率的最佳方法还存在讨论的空间。在使用交叉编译器时,记得确保它支持你所用的版本。 Python 是一门优秀的语言,它能让你在短时间内通过极少量代码就能完成许多操作。不仅如此,它还轻松支持多任务处理,比如多进程。 不喜欢 Pyt...
摘要:布尔值布尔值和布尔代数的表示完全一致,一个布尔值只有两种值的数据类型可以通过内置的函数查询,例如还可以用来判断和的区别在于不会认为子类是一种父类类型。会认为子类是一种父类类型。基本功能是进行成员关系测试和删除重复元素。 ...
摘要:于是打算看一下流畅的。第一章是讲数据模型,主要是的魔术方法特殊方法,它们以双下划线开头和结束,能让我们自己写的类拥有类似内置对象那样的属性和方法。第三个出场的的是,把对象用字符串的形式表示出来。第六个是,用于实现自己定义的布尔值。 接触 Python 有一段时间了,但是到现在也没怎么用 Python 写过一些有用的东西。基础虽然还行,但更深入的就不怎么了解了。于是打算看一下《流畅的 P...
摘要:开篇就要提到一个大的话题编程范型。例如,在面向对象编程中,程序员认为程序是一系列相互作用的对象,而在函数式编程中一个程序会被看作是一个无状态的函数计算的串行。 开篇就要提到一个大的话题:编程范型。什么是编程范型?引用维基百科中的解释: 编程范型或编程范式(英语:Programming paradigm),(范即模范之意,范式即模式、方法),是一类典型的编程风格,是指从事软件工程...
阅读 909·2023-01-14 11:38
阅读 876·2023-01-14 11:04
阅读 739·2023-01-14 10:48
阅读 1980·2023-01-14 10:34
阅读 941·2023-01-14 10:24
阅读 818·2023-01-14 10:18
阅读 498·2023-01-14 10:09
阅读 571·2023-01-14 10:02