列表推导式_Python教程
内容摘要
Python中存在一种特殊的表达式,名为推导式,它的作用是将一种数据结构作为输入,再经过过滤计算等处理,最后输出另一种数据结构。根据数据结构的不同会被分为列表推导式、
文章正文
Python中存在一种特殊的表达式,名为推导式,它的作用是将一种数据结构作为输入,再经过过滤计算等处理,最后输出另一种数据结构。根据数据结构的不同会被分为列表推导式、集合推导式和字典推导式。我们先着重来介绍最常使用的列表推导式。
我们先看一下列表推导式的语法格式:
|
listname:新生成的列表名字
expression:表达式
variable:变量名
(if condition):用于从对象中选择符合要求的列表
我们分别从规定范围的数值列表、规定条件的列表和符合条件元素组成的列表三个方面讲起。
1. 规定范围的数值列表
我们先思考一下当我们需要生成10个数字并存放列表当中,我们先看一下普通方式:
|
输出结果为:
|
而使用列表推导式只需要一行就可以:
|
输出结果为:
|
这种方式能简化我们在定义列表时的操作。
2. 根据规定条件生成列表
假定我们已知一个列表为 listname = [1,3,5,6,7,9,10,23,26,28,64,98],我们要找到其把里面的数全部加5,普通方法:
|
输出结果为:
|
而使用列表推导式同样很简洁:
|
输出:
|
3. 符合条件的元素组成的列表
这种类型的列表推导式要比前两种复杂点,但是能简化更多的代码。
我们先举个列子来看一下代码格式:
已知一个列表为listname = [8,33,53,64,73,95,101,123,126,164,198],然后我们要找到列表中小于大于100的数字,然后乘上0.8,最后返回到列表中。
如果我们使用普通方法:
|
输出结果为:
|
使用列表推导式:
|
输出结果:
|
我们来根据这个例子的语法结构来分析一下:
在使用复杂的列表推导式的时候我们可以采用这种方式,可以理解为我们先把符合条件的元素(条件语句)从对象中挑选出来,然后再经过输出表达式的处理,最后存放到了列表当中,形成新的列表。
4. 例题
下面提供几道例题可以尝试着做一下。
1.列表[1,2,13,22,25],请使用使用列表推导式提取出大于10的数,并把每个数平方,最终输出。
运行结果为:
|
代码如下,可以先尝试做完参考答案。
|
2.列表推导式求列表所有奇数并构造新列表,list = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
代码如下:
|
输出结果为:
|
列表推导式_Python教程相关推荐
- python用列表推导式_python如何使用列表推导式
python使用列表推导式的方法:1.用于使用其他列表创建一个新列表:2.可以对原列表进行变换和筛选:3.对多重嵌套的list进行变换筛选. python使用列表推导式的方法: python中列表推导 ...
- python列表推导式_python的各种推导式(列表推导式、字典推导式、集合推导式)...
推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2和3中都有支持:列表(list ...
- python双重for循环 列表推导式_Python 列表推导式
列表推导式(list comprehension)是利用其它列表创建新列表的一种方式.它的工作方式类似于for循环,例如: >>> [x*x for x in range(10)] ...
- python用列表推导式_python 列表推导式使用详解
所谓的列表推导式,就是指的轻量级循环创建列表. 基本使用方式 # 创建一个0-10的列表 a = [x for x in range(11)] print(a) """ ...
- python numpy 奇数偶数行互换_python 列表推导式(经典代码)(21)
文章首发微信公众号,微信搜索:猿说python 截止到目前为止,python基础内容已经学习了50%左右,在学习编程过程中,我们不仅要学习python语法,同时也需要学习如何把自己代码写的更美观,效率 ...
- Python教程:列表推导式和嵌套的列表推导式讲解
1.列表推导式 列表推导式提供了一个更简单的创建列表的方法.常见的用法是把某种操作应用于序列或可迭代对象的每个元素上,然后使用其结果来创建列表,或者通过满足某些特定条件元素来创建子序列. 例如,假设我 ...
- Python基础教程:列表推导式对比For循环执行效率
如果把1-10以内的元素追加到一个新的列表表中,如果使用for循环我们可以这么做: a = [] for i in range(1,11):a.append(i) print(a) 输出结果如下: 如 ...
- python教程:列表推导式对比For循环执行效率
我们在前面的学习中都知道,如果把1-10以内的元素追加到一个新的列表表中,如果使用for循环我们可以这么做: a = [] for i in range(1,11):a.append(i) print ...
- 列表输出循环左移_python 列表推导式(经典代码)(21)
文章首发微信公众号,微信搜索:猿说python 截止到目前为止,python基础内容已经学习了50%左右,在学习编程过程中,我们不仅要学习python语法,同时也需要学习如何把自己代码写的更美观,效率 ...
最新文章
- 为放大器模拟输入模块提供可靠的输入过电压保护
- C语言\b回退一格!多点的!_只愿与一人十指紧扣_新浪博客
- 是固执成见还是步步为营,工程建筑行业如何追赶人工智能化潮流?
- 程序员版《我和我的家乡》,拼搏奋斗的IT人是家乡的骄傲!
- 基于multisim的fm调制解调_矢量调制分析
- STM32F103 IAP编程调试记录
- HTML5数据库建模,HTML5的五种客户端离线存储方案
- 2016/09/16面试资料汇总
- LeetCode 165. 比较版本号
- Linux 内核维护缺后浪,前浪Linus缺点Fun
- jQuery.treetable使用及异步加载
- 如何用编程得出泰坦尼克号生还者的年龄段?
- 【链表】两个链表的第一个公共结点
- tomcat8+linux+IDEA配置远程代码调试
- 二叉排序树的中序遍历规律_王道数据结构|第四章 树与二叉树 04 二叉树的遍历...
- Url传递中文终极解决办法
- 计算机打印中 纸张不出来,菜鸟发货平台打印机不出纸怎么办?打印机纸张尺寸如何设置?...
- 码率和帧率的含义及区别
- WinDynamicDesktop下载慢解决方法
- 如何想领导说清楚DCMM到底有什么好处?