六个Python3中使用最广泛的内置函数总结
作者:Carl_奕然 发布时间:2021-12-06 09:12:34
1、引言
小 * 丝:鱼哥, 都说要想代码写的溜,Lamdba不能少。
小鱼:你在项目代码多写几个lamdba试试,看看架构师找不找你喝茶水。
小 * 丝:…
小鱼:逗你玩… 架构师哪舍得自己花钱买茶叶,都是能蹭就蹭…
小 * 丝:…
小鱼:你这突然提到lamdba函数,是想了解点什么??
小 * 丝:嘿嘿,真是什么都瞒不过你, 我就想把python最常用的内置函数在重新捋一捋,
小鱼:说实话。
小 * 丝:你也知道,我女神最近在学习python,所以我想…
小鱼:靠… 就知道你是这样的!
小 * 丝:鱼哥,我也是身不由己啊, 不然… 说出来都是眼泪。
小鱼:行了,别装的这么可怜, 我给你捋一捋不就行了。
小 * 丝:啥也别说了,此时我想…
2、内置函数详解
2.1 Lamdba 函数
lambda 函数用于创建匿名函数,又被称为lambda表达式。
实际上它只是一个表达式的存在,如果在代码编写过程中需要实现简单的函数逻辑但是单独写一个函数又比较麻烦就可以使用lambda表达式只需要一行代码就可以完成了。
比如需要实现一个简单的加法计算,使用基本的函数来实现需要创建一个add_1函数。
示例:
实现一个简单的加法计算。
一、基本函数
代码示例
# -*- coding:utf-8 -*-
# @Time : 2022-08-24
# @Author : Carl_DJ
#基本函数来实现加法计算
def add_ms(x,y):
return x + y
print(f'输出结果:{add_ms(8,9)}')
运行结果
输出结果:17
二、lamdba表达式
使用lamdba表达式来实现
代码示例
# -*- coding:utf-8 -*-
# @Time : 2022-08-24
# @Author : Carl_DJ
#lamdba表达式来实现
add_lamd = lambda x,y:x+y
print(f'lamdba表达式输出结果:{add_lamd(5,10)}')
运行结果
lamdba表达式输出结果:15
解析:
lambda x,y: x + y 表示 x,y是作为参数,x + y是作为函数的运算逻辑被执行。
2.2 Map 函数
map函数可以使用另外一个函数转换整个可迭代对象的函数,包括将字符串转换为数字、数字的四舍五入等等。
之所以使用map函数来完成这些事情可以节约内存,使代码的运行速度提高,并且使用的代码量比较少。
2.2.1 数字转换
示例:
将一个字符串的数组转换成数字的数组的形式,这里用两种方式:
传统的for循环方式
map函数
接下来,我们用代码转换。
一、传统for循环方式
代码示例
# -*- coding:utf-8 -*-
# @Time : 2022-08-24
# @Author : Carl_DJ
#for 循环来读取res列表的值
strings = ['10','20','30','40','50']
res = []
for str in strings:
res.append(int(str))
print(f'输出结果:{res}')
运行结果
输出结果:[10, 20, 30, 40, 50]
二、map函数
我们使用map函数方式来转换。
代码示例
# -*- coding:utf-8 -*-
# @Time : 2022-08-24
# @Author : Carl_DJ
#调用map函数
strings = ['11','22','33','44','55']
res_map = map(int,strings)
print(f'map函数输出结果:{list(res_map)}')
运行结果
map函数输出结果:[11, 22, 33, 44, 55]
可以看到,map函数,一行代码就可以转换完成,非常方便。
2.2.2 字母大小写转换
解析:
map(int,strings),其中int是作为函数作为参数传入的,而strings就是可以迭代的对象。
示例
把小写英文字母转换成大写英文字母
代码示例
# -*- coding:utf-8 -*-
# @Time : 2022-08-24
# @Author : Carl_DJ
'''
代码实现功能:
创建函数,来转换可转化的序列数据
初始化make_super函数,将小写英文转换成大写英文
'''
#定义make_super函数,
def make_super(text):
res_text = text.upper()
return res_text
#定义英文单词列表
words = ['python', 'java', 'ruby','go']
#转化
words_res = list(map(make_super, words))
print(f'转换结果:{words_res}')
运行结果
转换结果:['PYTHON', 'JAVA', 'RUBY', 'GO']
使用map(make_super, words),其中make_super是作为函数传入的,而words作为可序列化数据。
2.3 Filter 函数
定义
filter函数:使用该函数可以有效的过滤掉不需要的列表中的数据元素。
方法
'''
filter(function, iterable)
'''
在逻辑处理中,同样是需要一个处理函数和一个可序列化的数据。
# -*- coding:utf-8 -*-
# @Time : 2022-08-24
# @Author : Carl_DJ
#定义列表
list_num = [11,22,33,44,55,66,77]
#过滤掉偶数,保留奇数
new_list = filter(lambda n:n % 2 == 1,list_num)
print(f'过滤后的结果:{list(new_list)}')
运行结果
过滤后的结果:[11, 33, 55, 77]
通过运行结果,可以看到过滤掉了所有的偶数元素,留下了奇数元素。
2.4 Reduce 函数
定义
reduce函数通常用于计算整个列表的逻辑运算,即将一个函数的运算可以添加到这个列表的每个元素上面。
方法
'''
reduce(function, iterable[, initializer])
'''
代码示例
计算一个列表中每个元素之间的相乘的结果:
# -*- coding:utf-8 -*-
# @Time : 2022-08-24
# @Author : Carl_DJ
from functools import reduce
#列表
list_re = [10,20,30,40,50,]
#计算每个元素的乘积
print(f'计算结果:{reduce(lambda x, y: x * y, list_re)}')
运行结果
计算结果:12000000
2.5 Enumerate 函数
定义
enumerate 函数:一般用于可序列化数据的处理上面,而python中的可序列化数据又比较多,所以,还是蛮重要的。
代码示例
可以使用该函数直接遍历出一个可序列化数据的下标索引以及对应的数据。
# -*- coding:utf-8 -*-
# @Time : 2022-08-24
# @Author : Carl_DJ
#定义列表内容
words = ['python', 'java', 'ruby','go']
#遍历执行,返回新的列表
for index, data in enumerate(words):
print(f'当前索引:{index},当前数据:{data}')
运行结果
当前索引:0,当前数据:python
当前索引:1,当前数据:java
当前索引:2,当前数据:ruby
当前索引:3,当前数据:go
2.6 Zip 函数
定义
zip函数:可以同时遍历多个列表并将相同位置的元素组合成一个元祖。
代码示例
#定义空列表
list_res = []
#遍历列表使其相同位置元素能组合成
for m in zip([1, 2, 3, 4, 5], ['python', 'java', 'ruby', 'go', 'C#']):
list_res.append(m)
print(f'输出结果:{list_res}')
运行结果
输出结果:[(1, 'python'), (2, 'java'), (3, 'ruby'), (4, 'go'), (5, 'C#')]
3、总结
看到这里,今天的分享差不多就完事了。
今天共分享了六种常用的内置函数:
Lamdba 函数
Map 函数
Filter 函数
Reduce 函数
Enumerate 函数
Zip 函数
在实际的工作中,这些都是非常实实在在常用的函数,
所以,这些也都是必须要掌握的知识。
来源:https://blog.csdn.net/wuyoudeyuer/article/details/126517517


猜你喜欢
- OS 模块在讲解包模块时我们提到通过 sys 模块进行查看全局包路径查看于注册,今天我们尝试了解下OS模块,这个模块主要
- # 简单的端口扫描工具# 作者: Charles# 公众号: Charles的皮卡丘import timeimport socketimpo
- 所谓天赋(左脑和右脑)也就是你是否有艺术天赋,天赋也许是存在的,这主要在于人类左右脑的分工。左脑主要负责逻辑理解、语言、判断、分类、分析、推
- 1. 把数字转换成字符串,应用"" + 1,虽然看起来比较丑一点,但事实上这个效率是最高的,性能上来说:("&
- 导语描述 MySQL 压缩的使用场景和解决方案,包括压缩传输协议、压缩列解决方案和压缩表解决方案。提到 MySQL 压缩相关的内容,我们能想
- 环境:win10+phpstorm2022+phpstudy8+lnmp1、phpinfo(); 查看是否安装xdebug,没有
- Python assert 语句,又称断言语句,可以看做是功能缩小版的 if 语句,它用于判断某个表达式的值,如果值为真,则程序可以继续往下
- 前言:日常工作中,会遇到一些加密的zip文件,但是因为某些原因或者时间过长,密码不知道了。但是zip文件中文件有很重要很必须。那么,我们试一
- 前言最近在数据库的一张表添加两个字段,后来提示什么磁盘空间不足什么什么的,后来数据库就断开连接了,之后就一直连接不上去后来,最后经过思考终于
- 该章节为 Python自动化办公篇 的最后一章,通过定时任务发送邮件的方式学习定时模块的使用 --> schedule 。(该章内容篇
- 本文实例为大家分享了python3判断IP地址的具体代码,供大家参考,具体内容如下输入一串字符,判断该字符串是否为点分十进制的IP地址,若是
- 页面域关系:主页面a.html所属域A:www.aspxhome.com被iframe的页面b.html所属域B:www.cidianwan
- 描述符是调和属性访问的一个类。描述符类可用来获取、设置或删除属性值。描述符对象是在类定义的时候构建在一个类中的。一般来说,描述符是一个具有绑
- 1.创建一个类Rectangle,已知a、b求面积,求三角形的面积2.结合题目一,从题目一文件中读取数据,并采用类的方法,将计算的结果写在另
- 正文:本文展示一些高级的Python设计结构和它们的使用方法。在日常工作中,你可以根据需要选择合适的数据结构,例如对快速查找性的
- 正则表达式处理花括号内容替换赋值@Test public void replaceStr() { &
- Redis通常被认为是一种持久化的存储器关键字-值型存储,可以用于几台机子之间的数据共享平台。连接数据库 注意:假设现有几台在同一局域网内的
- 本文列出了HTML4标签的默认样式列表,对网页设计者来说这个应该很有用。原文来自:W3C (http://www.w3.org/TR/CSS
- 众所周知,OpenStack的通信方式有两种,一种是基于HTTP协议的RESTFul API方式,另一种则是RPC调用。两种通信方式的应用场
- 本文实例讲述了python实现的爬取电影下载链接功能。分享给大家供大家参考,具体如下:#!/usr/bin/python#coding=UT