0

0

8个超好用的Python内置函数,提升效率必备!

星夢妙者

星夢妙者

发布时间:2025-07-17 11:22:02

|

772人浏览过

|

来源于php中文网

原创

8个超好用的python内置函数,提升效率必备!

python中有许多内置函数,不像print那么广为人知,但它们却异常的强大,用好了可以大大提高代码效率。

这次来梳理下8个好用的python内置函数。

1、set()

当需要对一个列表进行去重操作的时候,set()函数就派上用场了。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">obj = ['a','b','c','b','a']print(set(obj))# 输出:{'b', 'c', 'a'}</code>

set([iterable])用于创建一个集合,集合里的元素是无序且不重复的。

集合对象创建后,还能使用并集、交集、差集功能。

立即学习Python免费学习笔记(深入)”;

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">A = set('hello')B = set('world')A.union(B) # 并集,输出:{'d', 'e', 'h', 'l', 'o', 'r', 'w'}A.intersection(B) # 交集,输出:{'l', 'o'}A.difference(B) # 差集,输出:{'d', 'r', 'w'}</code>
2、eval()

之前有人问如何用python写一个四则运算器,输入字符串公式,直接产生结果。

eval()来做就很简单:

8个超好用的Python内置函数,提升效率必备!

eval(str_expression)作用是将字符串转换成表达式,并且执行。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">a = eval('[1,2,3]')print(type(a))# 输出:<class 'list'>b = eval('max([2,4,5])')print(b)# 输出:5</code>
3、sorted()

在处理数据过程中,我们经常会用到排序操作,比如将列表、字典、元组里面的元素正/倒排序。

这时候就需要用到sorted() ,它可以对任何可迭代对象进行排序,并返回列表。

对列表升序操作:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">a = sorted([2,4,3,7,1,9])print(a)# 输出:[1, 2, 3, 4, 7, 9]</code>

对元组倒序操作:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">sorted((4,1,9,6),reverse=True)print(a)# 输出:[9, 6, 4, 1]</code>

使用参数:key,根据自定义规则,按字符串长度来排序:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">chars = ['apple','watermelon','pear','banana']a = sorted(chars,key=lambda x:len(x))print(a)# 输出:['pear', 'apple', 'banana', 'watermelon']</code>

根据自定义规则,对元组构成的列表进行排序:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">tuple_list = [('A', 1,5), ('B', 3,2), ('C', 2,6)]# key=lambda x: x[1]中可以任意选定x中可选的位置进行排序a = sorted(tuple_list, key=lambda x: x[1])print(a)# 输出:[('A', 1, 5), ('C', 2, 6), ('B', 3, 2)]</code>
4、reversed()

如果需要对序列的元素进行反转操作,reversed()函数能帮到你。

reversed()接受一个序列,将序列里的元素反转,并最终返回迭代器。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">a = reversed('abcde')print(list(a))# 输出:['e', 'd', 'c', 'b', 'a']b = reversed([2,3,4,5])print(list(b))# 输出:[5, 4, 3, 2]</code>
5、map()

做文本处理的时候,假如要对序列里的每个单词进行大写转化操作。

这个时候就可以使用map()函数。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">chars = ['apple','watermelon','pear','banana']a = map(lambda x:x.upper(),chars)print(list(a))# 输出:['APPLE', 'WATERMELON', 'PEAR', 'BANANA']</code>

map()会根据提供的函数,对指定的序列做映射,最终返回迭代器。

LogoAi
LogoAi

利用AI来设计你喜欢的Logo和品牌标志

下载

也就是说map()函数会把序列里的每一个元素用指定的方法加工一遍,最终返回给你加工好的序列。

举个例子,对列表里的每个数字作平方处理:

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">nums = [1,2,3,4]a = map(lambda x:x*x,nums)print(list(a))# 输出:[1, 4, 9, 16]</code>
6、reduce()

前面说到对列表里的每个数字作平方处理,用map()函数。

那我想将列表里的每个元素相乘,该怎么做呢?

这时候用到reduce()函数。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">from functools import reducenums = [1,2,3,4]a = reduce(lambda x,y:x*y,nums)print(a)# 输出:24</code>

reduce()会对参数序列中元素进行累积。

第一、第二个元素先进行函数操作,生成的结果再和第三个元素进行函数操作,以此类推,最终生成所有元素累积运算的结果。

再举个例子,将字母连接成字符串。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">from functools import reducechars = ['a','p','p','l','e']a = reduce(lambda x,y:x+y,chars)print(a)# 输出:apple</code>

你可能已经注意到,reduce()函数在python3里已经不再是内置函数,而是迁移到了functools模块中。

这里把reduce()函数拎出来讲,是因为它太重要了。

7、filter()

一些数字组成的列表,要把其中偶数去掉,该怎么做呢?

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">nums = [1,2,3,4,5,6]a = filter(lambda x:x%2!=0,nums)print(list(a))# 输出:[1,3,5]</code>

filter()函数轻松完成了任务,它用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象。

filter()函数和map()reduce()函数类似,都是将序列里的每个元素映射到函数,最终返回结果。

我们再试试,如何从许多单词里挑出包含字母w的单词。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">chars = chars = ['apple','watermelon','pear','banana']a = filter(lambda x:'w' in x,chars)print(list(a))# 输出:['watermelon']</code>
8、enumerate()

这样一个场景,同时打印出序列里每一个元素和它对应的顺序号,我们用enumerate()函数做做看。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">chars = ['apple','watermelon','pear','banana']for i,j in enumerate(chars):    print(i,j)'''输出:0 apple1 watermelon2 pear3 banana'''</code>

enumerate翻译过来是枚举、列举的意思,所以说enumerate()函数用于对序列里的元素进行顺序标注,返回(元素、索引)组成的迭代器。

再举个例子说明,对字符串进行标注,返回每个字母和其索引。

代码语言:javascript代码运行次数:0运行复制
<code class="javascript">a = enumerate('abcd')print(list(a))# 输出:[(0, 'a'), (1, 'b'), (2, 'c'), (3, 'd')]</code>

-END-

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
python中print函数的用法
python中print函数的用法

python中print函数的语法是“print(value1, value2, ..., sep=' ', end=' ', file=sys.stdout, flush=False)”。本专题为大家提供print相关的文章、下载、课程内容,供大家免费下载体验。

192

2023.09.27

python print用法与作用
python print用法与作用

本专题整合了python print的用法、作用、函数功能相关内容,阅读专题下面的文章了解更多详细教程。

17

2026.02.03

js 字符串转数组
js 字符串转数组

js字符串转数组的方法:1、使用“split()”方法;2、使用“Array.from()”方法;3、使用for循环遍历;4、使用“Array.split()”方法。本专题为大家提供js字符串转数组的相关的文章、下载、课程内容,供大家免费下载体验。

738

2023.08.03

js截取字符串的方法
js截取字符串的方法

js截取字符串的方法有substring()方法、substr()方法、slice()方法、split()方法和slice()方法。本专题为大家提供字符串相关的文章、下载、课程内容,供大家免费下载体验。

219

2023.09.04

java基础知识汇总
java基础知识汇总

java基础知识有Java的历史和特点、Java的开发环境、Java的基本数据类型、变量和常量、运算符和表达式、控制语句、数组和字符串等等知识点。想要知道更多关于java基础知识的朋友,请阅读本专题下面的的有关文章,欢迎大家来php中文网学习。

1561

2023.10.24

字符串介绍
字符串介绍

字符串是一种数据类型,它可以是任何文本,包括字母、数字、符号等。字符串可以由不同的字符组成,例如空格、标点符号、数字等。在编程中,字符串通常用引号括起来,如单引号、双引号或反引号。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

649

2023.11.24

java读取文件转成字符串的方法
java读取文件转成字符串的方法

Java8引入了新的文件I/O API,使用java.nio.file.Files类读取文件内容更加方便。对于较旧版本的Java,可以使用java.io.FileReader和java.io.BufferedReader来读取文件。在这些方法中,你需要将文件路径替换为你的实际文件路径,并且可能需要处理可能的IOException异常。想了解更多java的相关内容,可以阅读本专题下面的文章。

1168

2024.03.22

php中定义字符串的方式
php中定义字符串的方式

php中定义字符串的方式:单引号;双引号;heredoc语法等等。想了解更多字符串的相关内容,可以阅读本专题下面的文章。

1163

2024.04.29

JavaScript浏览器渲染机制与前端性能优化实践
JavaScript浏览器渲染机制与前端性能优化实践

本专题围绕 JavaScript 在浏览器中的执行与渲染机制展开,系统讲解 DOM 构建、CSSOM 解析、重排与重绘原理,以及关键渲染路径优化方法。内容涵盖事件循环机制、异步任务调度、资源加载优化、代码拆分与懒加载等性能优化策略。通过真实前端项目案例,帮助开发者理解浏览器底层工作原理,并掌握提升网页加载速度与交互体验的实用技巧。

23

2026.03.06

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
最新Python教程 从入门到精通
最新Python教程 从入门到精通

共4课时 | 22.5万人学习

Django 教程
Django 教程

共28课时 | 4.8万人学习

SciPy 教程
SciPy 教程

共10课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号