Python 打基础一定要吃透这 5 个内置函数

手把手教你离线部署Jupyter Notebook及高效插件配置 本文详细介绍了如何在离线环境中部署Jupyter Notebook及配置高效插件,包括离线安装步骤、依赖管理、核心扩展安装及常见问题排查。特别针对金融、科研等封闭网络场景,提供完整的whls包和requirements.txt解决方案,帮助开发者和数据分析师突破网络限制,提升工作效率。 阅读详情

出品:Python数据之道

作者:Peter

编辑:Lemon

本文中介绍 Python 中 5 个高阶内置函数,它们不仅能够帮助我们了解 Python 的数据结构,同时也能加快数据处理的速度,体会到 Python 的强大。

  • zip

  • filter

  • enumberate

  • reversed/reverse

  • eval

1、zip

引例

首先,我们先来学习一个非常强大的内置函数: zip。通过一个例子来引出 zip的使用:

需求:如果我们想对两个列表对应位置上的数字一一求和,该如何操作?

x = [1,2,3]
y = [4,5,6]
  1. for循环实现

  1. zip实现

具体实现过程

查看使用文档

help(zip)

zip接受一个序列

  1. 空序列

  1. 接受列表、元组、集合、字符串

zip接受多个序列

接受列表、元组、集合、字符串的任意组合:

## 列表、元组、集合、字符串的随意组合
a = [1,2,3]
b = {4,5,6}
c = (7,8,9)
d = "zip"
print(list(zip(a,b)))  # 列表+集合
print("------------")
print(list(zip(a,c)))  # 列表+元组
print("------------") 
print(list(zip(b,d)))  # 集合+元组
print("------------")
print(list(zip(c,d)))  # 元组+字符串
print("------------")
print(list(zip(a,b,c)))  # 列表+集合+字符串

zip处理不同长度

上面的多个元素的长度都是相同的,下面的例子来展示 zip处理不同长度的序列。

我们发现:zip会选择最小长度的序列进行合并

2、filter

filter本身是 过滤的意思:就是将那些不符合我们要求的数据直接过滤舍弃掉,剩下那些符合要求的数据。

查看帮助文档

将序列中的每个元素传递给函数,执行的结果为 True或者 False,将结果为 True的元素放入新的列表中。

返回的是 filter对象。如果想看具体的数据,需要使用 list来展开。

help(filter)

使用自定义函数

使用匿名函数lambda

直接筛选条件

list(filter(lambda x: x>1, [0,1,9,-4,8,100]))

具体结果为:

[9, 8, 100]

字符筛选

list(filter(lambda x: x!="shenzhen", ["guangzhou","shanghai","shenzhen","changsha"])) # 筛选不满足要求的字符串
['guangzhou', 'shanghai', 'changsha']

3、enumerate

enumerate是 Python的一个重要内置函数,返回的是可迭代序列的元素和下标,对列表、集合、字典、字符串等都适用的。

在 Python的 for循环中使用的非常广泛。

如果想查看结果,需要使用list函数来进行显示。

查看帮助文档

help(enumerate)

用于列表、集合、元组、字符串、字典

4、reversed

reversed()函数是返回序列 seq反向访问的迭代器。

参数可以是 列表,元组,字符串,不改变原对象均可。下面通过具体的例子来说明:

查看帮助文档

help(reversed)

用于列表

用于元组

用于字符串

4.1 reverse

用于对列表中的元素反向排序,方法没有返回值,只是对列表中的元素进行反向排序

只针对列表!!!!!!

demo

集合不能用reverse

方法只针对列表

# 集合反向
set1 = {1,"python",3,"java",5}
set1.reverse()  # 集合没有reverse方法,该方法只针对列表

5、eval

语法

eval 直接返回传入字符串的表达式的结果,语法为:

eval(expression[, globals[, locals]])

下面通过几个例子来直接讲解该方法的使用

例子

字符串和列表、字典、集合的转化

带上参数

三个参数的意义:

  • expression : 字符串

  • globals : 变量作用域,全局命名空间;如果被提供,则必须是一个字典对象

  • locals : 变量作用域,局部命名空间;如果被提供,可以是任何映射对象

当它和globals中有重复的部分时,locals里的定义会覆盖掉globals中的:当globals和locals中有冲突的部分时,locals有决定权。

如果locals没有被 提供的话,则默认为globals。

理解expressions

s = "abcd"
eval(s)

# eval先将‘s’的引号剥去,得到s.不可以进行计算,开始查找s是否是一个变量的名字,查找到s是一个字符串,所以程序输出了s中的内容
s = "abcd"  
eval('s')
# 结果为:
'abcd'

单引号和双引号区别

最外层一定要使用单引号

作者简介

Peter,硕士毕业僧一枚,从电子专业自学Python入门数据行业,擅长数据分析及可视化。喜欢数据,坚持跑步,热爱阅读,乐观生活。个人格言:不浮于世,不负于己

个人站点:www.renpeter.cn,欢迎常来小屋逛逛


本文来自公众号读者投稿,欢迎各位童鞋向公号投稿,点击下面图片了解详情!

------- End -------

点右下角「在看」与转发

是对我们最大的支持

特别推荐下公众号「柠檬数据」,会不定期分享数据故事,欢迎来串门。

回复「600」获取《Python知识手册

回复「time」获取《Python时间使用指南

柠檬数据

发现数据价值,分享数据故事

扫码关注,查看更多内容

Ubuntu升级遇到grub-efi-amd64-signed安装失败?3步搞定这个烦人错误 本文深度解析Ubuntu系统升级grub-efi-amd64-signed安装失败并提示“cannot find EFI directory”错误的根本原因。该错误通常由EFI系统分区挂载异常、BIOS/UEFI引导模式不匹配或dpkg包状态死锁导致。文章提供了三步精准修复流程:首先检查并修复ESP分区挂载,其次处理dpkg依赖问题,最后针对传统BIOS系统提供适配方案,帮助用户安全彻底地解决这一常见升级难题。 阅读详情

相关推荐

护航科技在IT服务智能化方向的实践分享.pdf

护航科技在IT服务智能化方向的实践分享.pdf

命名空间 multiple definition of_解读有机化合物命名原则2017

有机化合物种类繁多,结构千变万化,这就决定了有机化合物命名的发展趋势是系统化、规范化、简单化和一致化。所谓系统化,就是有机化合物取代越来越普遍地使用系统命名,而俗名(普通名)的使用会越来越少;所谓规范化就是同一类化合物主要趋向于采用一种规范的命名,而不是百花齐放;所谓简单化就是尽可能减少变化,采用统一命名模式,一种化合物只采用一种系统命名,便于初学者掌握;所谓一致化就是...

weixin_39593427的博客 1025

贴片三极管封装机_SolidWorks三维模型_零件图_装配图_通用格式.rar

贴片三极管封装机_SolidWorks三维模型_零件图_装配图_通用格式.rar

命名取代优先顺序_用《有机化合物命名原则2017》的取代顺序由其英文名称首字母决定,4-乙-3,4-二甲庚烷对么?...

先写结论:这个命名是对的,用Chemdraw佐证一下,命名如下:4-乙-3,4-二甲庚烷2017年12月20日,中国化学会有机化合物命名审定委员会在IUPAC1993和IUPAC2013蓝皮书础上编写的《有机化合物命名原则2017》(CCS2017)在深圳正式发布。本次修订在CCS1980简单规则础上,做了更加细致和准确的补充和规定,特别是在有机化合物命名规则和书写方面做了重要修改。《有...

weixin_39769406的博客 3934

命名取代优先顺序_ALevel化学 | 有机化合物命名

学习A-level课程,不少同学在选择考试科目的候,都比较倾向于选择化学科目。今天为大家简单介绍一下A-Level有机化学知识点:Nomenclature - Naming organic compounds命名法-有机化合物命名希望能够对大家学好化学有所帮助。IUPAC国际理论和应用化学联合会Systematic namesIUPAC names用系统命名法来命名的化学物质名称,...

weixin_39772566的博客 8375

命名取代优先顺序_有机物命名常见官能团的优先次序表

一、官能团的优先次序常见官能团的优先次序表类别序号官能团词头名称词尾名称酸1-COOH羧羧酸2-SO3H磺磺酸羧酸衍生物3-COOR酯羧酸酯4-COX卤羰酰卤5-CONH2氨甲酰酰胺腈6-CN氰腈醛7-CHO醛醛酮8>C=O羰酮醇9-OH羟醇酚10-OH羟酚胺11-NH2胺胺炔12-C≡C-/炔烯13>C=C</烯醚14-OR烃氧/卤代烃15-X卤代/硝化合物16-NO2...

weixin_39623273的博客 2万+

补码的表示范围_计算机的原码、反码和补码

数据在计算机里面都是以0和1存储和运算的,这是冯诺依曼体系的础。比如一个数在计算机中若有正负之分,则用一个数的最高位(符号位)用来表示它的正负,其中0表示正数,1表示负数。原码就是整数绝对值的二进制形式,为了解决计算机中有负数的运算,提出了反码、补码。1、原码原码就是符号位加上真值的绝对值,第一位表示符号,其余位表示值。对于4位的二进制,其取值范围就是[1000,0111],即[-8,7]。+5...

weixin_39638929的博客 2173

命名取代优先顺序_解读有机化合物命名原则2017

有机化合物种类繁多,结构千变万化,这就决定了有机化合物命名的发展趋势是系统化、规范化、简单化和一致化。所谓系统化,就是有机化合物取代越来越普遍地使用系统命名,而俗名(普通名)的使用会越来越少;所谓规范化就是同一类化合物主要趋向于采用一种规范的命名,而不是百花齐放;所谓简单化就是尽可能减少变化,采用统一命名模式,一种化合物只采用一种系统命名,便于初学者掌握;所谓一致化就是...

weixin_42394257的博客 5万+

命名取代优先顺序_浅谈有机化合物英文命名(三)

浅谈有机化合物英文命名(三)2.2 环烷烃的英文命名​ 简单的环烷烃在中文命名中,就是“环”字加上对应烷烃名,如环丙烷、环丁烷等。在这方面,英文命名也是同样,只需加上词头 cyclo 即可。但对于复杂的环烷烃该如何命名呢?首先,先简单回顾一下几个特殊的构型。2.2.1 R,S 构型以及顺反构型​ 对于具有两种互成镜像却无法重叠的不同立体结构,即具有手性(chirality)。为了区分...

weixin_42299169的博客 3553

命名取代优先顺序_有机物的系统命名

有关高考化学,大块的知识点和题型分析其实已经做的差不多了,后面我们会逐渐更新这些相对比较针对的分析方法。今天正好有位读者来问命名有关内容,我们就来谈谈系统命名的方法首先要说到的是,高考中出现复杂有机物命名的题型概率不高,因为中国化学会在2017年出版了《有机化合物命名原则2017》,而此前在教学中一直使用的是1980版规则,这两版规则存在微妙的差异,那么正确答案究竟是以2017版规则还是...

weixin_42520448的博客 4万+

命名取代优先顺序_有机化学——有机物的命名

有机化合物种类繁多,数目庞大,即使有同一分子式,也会有多种同分异构体,若没有一个系统的命名原则,会在查阅文献的候造成极大的混乱。现在多采用IUPAC和普通命名法,对于极其复杂的化合物,常采用俗名。感兴趣的话可以查阅:中国化学会,有机化学命名原则(1980),科学出版社,北京,1983.,由于内容繁杂,本文仅介绍很本的命名原则,不介绍英文命名。一、烷烃的命名直链烷烃常用“碳原子数+烷”...

weixin_39958559的博客 4万+

命名取代优先顺序_1. 820有机笔记 | 化合物命名

正式更新更新笔记,目前有820有机、622物化、821化原和815高分子化学与物理、830生化。不套路,分享干货。以下是常考点。一. 有机化合物系统命名本格式:例题:二、环烷烃的命名1. R,S构型的确定将与手性碳原子相连的四个团按顺序规则排列大小,将最小的团放在离眼睛最远的地方,其它三个团按由大到小的方向旋转,旋转方向是顺针的,手性碳为R构型(拉丁文rectus的字首)...

weixin_29041195的博客 5717

命名取代优先顺序_求在有机化学的命名中,较优团的排列顺序在有机化学的命名中,较优团的排列顺序.急用....

根据IUPAC命名法及1980年中国化学学会命名原则,按各类化合物分述如下.1.带支链烷烃主链 选碳链最长、带支链最多者.编号 按最低系列规则.从靠侧链最近端编号,如两端号码相同,则依次比较下一取代位次,最先遇到最小位次定为最低系统(不管取代性质如何).例如,命名为2,3,5-三甲己烷,不叫2,4,5-三甲己烷,因2,3,5与2,4,5对比是最低系列.取代次序IUPAC规定依英文名第一...

weixin_33603656的博客 8842

有机化学英文单词组成以及命名规则

5. **使用相应的前缀和后缀:** 在命名,可以使用相应的前缀和后缀来表示立体异构体的性质。1. **确定环的碳原子数:** 首先要确定环的碳原子数,这通常通过环中碳原子的数量来确定。4. **优先级规则:** 对于R和S以及E和Z的确定,需要使用一系列优先级规则来比较取代的优先级,通常是依赖于原子的原子序数。2. **编号环上的碳原子:** 给环上的每个碳原子分配一个唯一的编号,从一个碳原子开始,按顺针或逆针方向依次编号。4. **列出取代的名称:** 将取代的名称按照字母表的顺序列出。

m0_74331272的博客 1万+

下列选项不属于有机物的是_高考中有机物结构与性质解题方法一有机物的命名...

一、先了解有机物的表示方法:1.分子式(也称化学式):如 C4H62.最简式(也称实验式):分子式中各元素原子数除“最大公约数”得到的式子:如C4H6→C2H33.电子式:元素原子最外层电子用“.”或“×”表示的式子:4.结构式:电子式中的一对共用电子对用“-”表示,其余的最外层电子省略的得到的式子:如:H-C≡C-H5.结构简式:只表示官能团而-C—C-和-C-H-单键省略,相同项合并...

weixin_42356892的博客 1032

命名取代优先顺序_有机物命名

“不积跬步无以至千里,不积小流无以成江海。”知识要点知识点一:烃定义:烃分子失去一个或几个氢原子后所剩余的部分叫做烃常见的烃:甲 :-CH3;乙 :-CH2CH3或-C2H5 ;正丙:-CH2CH2CH3知识点二:习惯命名法烷烃可以根据分子里所含碳原子数目来命名。注释:碳原子数在十以内的用甲(1)、乙(2)、丙(3)、丁(4)、戊(5)、己(6)、庚(7)、辛(8)、壬...

weixin_35880510的博客 6822

命名取代优先顺序_有机化学专题讲解——有机化合物命名

点击上方蓝字关注下呗本期引言有机化合物命名☑回复“有机化学群”带你直达友军部队☑回复“真题”获取考研真题有机化合物命名一、系统命名法系统命名本方法是:选择主要官能团→确定主链位次→排列取代列出顺序→写出化合物全称。三最原则1、选择含官能团的最长碳链为母体2、选择含取代最多的且包含官能团的最长碳链为母体3、选择使官能团、取代的位次编序最小,小的取代优先的方法编号要点:1.最...

weixin_34938347的博客 2万+

连接命名空间方法

http://blog.csdn.net/lineuman/article/details/52108191 原文一 Linux Switching – Interconnecting Namespaces  http://www.opencloudblog.com/?p=66  原文二 Linux Network Namespaces  http://www.opencloudb

llxx1234的博客 633

连接到Oracle的几种命名方式

从事Oracle相关工作的人,每天都会使用各种工具连接到Oracle数据库,比如:SQL*Plus、PL/SQL、TOAD、SQLDeveloper等等,下面就列举了几种连接到Oracle的方式,本例中使用的是SQL*Plus为例。1、Easy Connect命名方式这种方式是一种很简单的方式,它不需要去访问tnsnames.ora文件,而去直接连接数据库。语法:CONNEC...

weixin_33675507的博客 465

学成在线项目前端(图片、源码、psd)

源码直接下载地址: https://pan.quark.cn/s/a4b39357ea24 "学成在线项目前端(涉及图片、源码、psd图片等资源)"所关联的知识要点主要分布在多个前端开发的核心范畴,涵盖了HTML、CSS、JavaScript以及设计素材的应用。该项目或许是一个在线教育体系完整界面的前端构建实例,整合了构建此类平台所需的所有核心构成部分。 1. **HTML**(HyperText Markup Language)作为一种结构化标记语言,用于网页内容的组织,定义了诸如头部、主体、段落、图像等网页组成部分。在具体项目中,HTML文档负责构建并展示页面的础架构与内容,例如课程目录展示、用户身份验证模块、课程详细信息展示等单元。 2. **CSS**(Cascading Style Sheets)专注于网页的视觉表现与布局设计,涉及颜色方案、字体选择、尺寸设定、对齐模式等细节。在"学成在线"项目中,CSS技术可能被用于塑造统一的视觉体验,例如按钮外观设计、导航栏布局规划、页面自适应布局实现等,确保在不同设备环境下的兼容性。 3. **JavaScript** 作为一种客户端脚本语言,旨在增强网页的交互性与动态表现。在"学成在线"项目中,JavaScript技术可能应用于用户行为的响应处理,如点击事件触发更多课程内容加载、表单输入验证、页面动态效果呈现、视频播放器控制等操作。此外,它也可能用于实现如AJAX异步数据获取等高级功能,以优化用户使用体验。 4. **PSD图片**代表Photoshop文档格式,通常用于存储设计构思或网页原型设计。在该项目中,PSD文件可能包含了用户界面的设计草图,设计师通过这些文件来规划并预览界面的视觉形态,包括色彩协调、图标...

双振动盘上料6出料口.rar

双振动盘上料6出料口.rar

上一篇: 太赞了!100个案例,Matplotlib 从入门到大神!
下一篇: 警惕!Python 正在慢慢失去魅力!
Python数据之道
博客等级 码龄9年 2849粉丝 139原创
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值