Python中实用的内置函数有哪些,用法是什么
Admin 2022-07-27 群英技术资讯 283 次浏览
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作为可序列化数据。
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是作为函数的运算逻辑被执行。
enumerate 函数一般用于可序列化数据的处理上面,而python中的可序列化数据又比较多,重要性就可想而知了。
可以使用该函数直接遍历出一个可序列化数据的下标索引以及对应的数据。
使用一个列表数据来进行举例说明。
words = ['java', 'python', 'scala']
使用enumerate函数来执行一下整个遍历,最终返回一个新的列表。
for index, data in enumerate(words): print(f'当前索引:{index},当前数据:{data}') # 当前索引:0,当前数据:java # 当前索引:1,当前数据:python # 当前索引:2,当前数据:scala
看到返回的结果中包含了索引、数据,这样便于数据的组织和统计,因此,将该函数也列为比较常用的函数之一。
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,和我们预想得到的计算结果是一致的。
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]
这里我们成功过滤掉了所有的奇数数据元素,最终只留下了偶数元素。
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的编码过程中大多数的数据处理相关的操作都是基于可序列化的数据的。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
Python内置函数-reversed函数。reversed 函数返回一个反转的迭代器。
常见内置函数即是提前定义好的函数 py文件一创建就有的,直接使用即可 很多内置函数的功能都非常的好用;迭代如何理解,迭代就是更新换代 每次迭代都需要基于上一次的成果更新
内容介绍写在前面创建一个文档先实现第一步,写入一个标题添加文字段落列表的添加图片的添加表格添加相关样式设置页眉和页脚写在前面python-docx不支持doc文档,一定要注意该点,如果使用do
这篇文章主要介绍了Python控制线程和函数超时处理,文中利用两种方法进行eventlet库和@func_set_timeout修饰器,文章具体详细介绍,需要的小伙伴可以参考一下
这篇文章主要为大家介绍了python unicodedata模块用法示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008