初学者学python,列表推导到zip()函数,必须会的五种技巧
以下即五种实用的小技巧:
字符串运算
列表推导式
lambda 和 map()
单行条件语句
zip()
字符串运算
字符串本质上也是一种元组,但是字符串有很多「运算」方式。 最直观的是字符串的 + 和 * 运算,它们分别表示重复和连接。
此外,如果希望获得反向字符串,也可以直接使用 [::-1] 进行索引:
如果列表元素都是字符串,那么我们可以快速地使用 join() 方法将所有元素凭借在一起:
如上我们使用 .join() 方法拼接列表元素,其中 『 』 表示连接方式为空格。 其实在自然语言处理中,这个方法会经常使用,例如我们将句子拆分为了字符,那么处理后的合并就需要使用 join() 了。最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以架微♥信:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~
列表推导式
如果你还不会使用列表推导式,那么快学起来吧。 正如本文作者所言,「当我第一次学到这种方式时,我的整个世界都变了。 」列表推导式真的非常强大,它不仅在速度上比一般的方法快,同时直观性、可读性都非常强。 如果你希望迭代列表做一些运算,那么快使用它吧。
我们先定义一个简单的函数,它会算变量的平方并加 5:
如果我们希望将该函数应用到列表中的奇数项,那么不采用列表推导式的情况下,我们一般会写成以下形式:
但是现在我们有了列表推导式,那么上面代码可以等价修改为:
上面的列表推导式可以进一步简化,即不需要定义一个新函数。
Lambda 和 Map
Lambda 是一种匿名函数,它看起来可能有一点奇怪,但是一旦你理解了它,那么他就会变得非常直观与强大。
一般而言,Lambda 函数都比较小,它也不需要定义函数名。 那么为什么需要匿名函数? 简单而言,Lambda 最常执行一些直观的运算,它并不需要标准的函数定义,而且也不需要新的函数名再次调用。
还是拿上面的先平方再加 5 为例,前面我们是定义了一个标准的函数,def stupid_func(x),现在我们可以试试 Lambda 匿名函数:
那么我们为什么要用上面的表达式? 很大一部分原因在于,当我们想执行一些简单运算时,可以不需要定义真实函数就能完成。 例如排序列表元素,一种直观的方法可以使用 sorted() 方法:
这只能默认从大到小或从小到大排序,但是借助 Lambda 表达式,我们可以实现更自由的排序标准。 如下所示我们希望根据最小的平方数对列表进行排序,其可以使用 Lambda 函数定义键,从而告诉 sorted() 方法该怎样排序。最后,如果你的时间不是很紧张,并且又想快速的python提高,最重要的是不怕吃苦,建议你可以架微♥信:762459510 ,那个真的很不错,很多人进步都很快,需要你不怕吃苦哦!大家可以去添加上看一下~
上面的代码非常优雅,如果不用它们两者,那么一般的表达需要写成这样:
单行条件语句
如果我们使用条件语句,那么最可能写成下面这个样子:
但其实我们也可以把所有条件都写在 print 函数内,即上面 7 行代码可以等价写成如下一行:
这样看起来真的非常简洁,如果你查看以前写的代码,真的有很多都可以改成这种表达式。
zip()
前面在介绍 map() 函数时,我们举了个例子将某个函数应用到平行的两个列表,而 zip() 函数可以更简单地做到这一点。
如果我们有两个列表,第一个列表包含了名,第二个列表包含了姓。 使用 zip() 函数,如下我们可以将它们拼接在一起。
也就是说,zip 将两个等长的列表变为了一对一对的,即 ((“Peter”, “Jensen”), (“Christian”, “Smith”), (“Klaus”, “Nistrup”))。
——本文完——
初学者学python,列表推导到zip()函数,必须会的五种技巧相关推荐
- Python学习笔记---理解zip()函数
转载自Python零碎知识(2):强大的zip 一.代码引导 首先看这一段代码: 1 >>> name=('jack','beginman','sony','pcky')2 > ...
- python 列表推导_Python 列表推导式使用的注意事项
python视频教程栏目介绍Python列表推导式的使用. Python 列表推导式并不是给初学者用的,因为它非常反直觉,甚至对于有其他编程语言背景的人也是如此. 我们接触到 List 的使用时,学习 ...
- 【技能树共建】Python 列表推导式
Python 列表推导式是什么 列表推导式是 Python 语言特有的一种语法结构,也可以看成是 Python 中一种独特的数据处理方式, 它在 Python 中用于 转换 和 过滤 数据. 其语法格 ...
- Effective Python 小笔记之 zip 函数
环境:Python 3.5.1 CentOS 7 zip函数可以同时遍历两个迭代器. 在编写Python代码时,通常要面对很多列表,而这些列表中的对象,可能是相互关联的.如下例: names = [' ...
- python enumerate函数_关于python中enumerate和zip函数的用法及举例
关于python中enumerate和zip函数的用法及举例 关于enumerate函数: enumerate函数可以同时返回列表或元组等可迭代对象的下标和内容,但实际上,enumerate函数实际返 ...
- Python 列表推导式 - Python零基础入门教程
目录 一.Python 列表推导式简介 二.Python 列表推导式语法 三.Python 列表推导式练习 1.Python 列表推导式案例一 2.Python 列表推导式案例二 3.Python 列 ...
- Python 列表推导 、生成器表达式与声明式编程
1.****列表推导********* 用到函数的一个常见的操作是将其用于列表的所有项,并使用结果创建一个新的列表.例如: # coding=utf-8 ''' ****列表推导********* 用 ...
- PyTips 0x03 - Python 列表推导
项目地址:https://git.io/pytips 0x03 - Python 列表推导 0x02 中提到的 map/filter 方法可以通过简化的语法快速构建我们需要的列表(或其它可迭代对象), ...
- python列表推导式中使用if语句及他们的等价形式
python列表推导式中使用if语句及他们的等价形式 在python的列表推导式中使用if语句有两种形式: # 方式1: 起过滤作用 [expr(x) for x in li if cond(x)] ...
最新文章
- LeetCode简单题之反转字符串
- 工作327:uni-数据格式处理
- 【SpringCloud】 第十篇: 高可用的服务注册中心
- .Net Core 商城微服务项目系列(十四):分布式部署携程Apollo构建配置中心
- php 同步退出,Ucenter 的同步登录与同步退出
- 【iOS开发】An Apple ID with identifier xxxis not available. Please enter a different string.
- paip.php页面调试设置及流程
- ensp 交换机与路由器ospf_华为路由器 eNSP 配置 rip OSPF 路由重发布
- Redis管理及监控工具treeNMS
- 合作博弈:联盟、分配和核心core
- 控制工程中的数学建模(6)——典型环节的数学模型(之二)
- 交叉编译及交叉编译工具链的安装
- 电脑主板原理图讲解(电脑主板构造图文详解)CPU和北桥芯片(随着发展有的北桥已经被设计到CPU内部了)南桥芯片
- 穿行大街小巷 寻找“没落儿”的扬州
- 强化学习之AC系列算法(AC、A2C、A3C)
- 中文分词技术比较:单字切分 vs 中文分词
- Java 动态生成推广海报,带用户头像、昵称、二维码
- 武汉电博会看点 daydao电商云ERP亮相
- c#中文字符串与byte数组互相转化
- OC swift 一些常用第三方收集整理 (第三方集合)
热门文章
- android游戏模式,注重游戏体验 Android 12提供原生游戏模式
- unix linux系统版本,怎么查看UNIX系统版本?
- paddle 标注_质量检查丨生成序号标注,究竟可以有多快多准确?
- excel导入导出工具类_Hutool Java工具类库导出Excel,超级简单
- elementui Cascader 省市区联动选择器,应用与回显
- MySQL实现远程备份的原理_mysql实现自动远程备份一办法
- 编写python扩展模块_《深度剖析CPython解释器》27. 使用Python/C API编写扩展模块:编写扩展模块的整体流程...
- c语言建立迷宫坐标,c语言 找到迷宫出口并显示坐标,可以自定义迷宫或者选用已经设计好的迷宫...
- vue 导入excel插件_Vue框架下实现导入导出Excel、导出PDF
- JavaScript获取日期方法