文档章节

零基础学python-13.3 列表解析简介与步骤分解

raylee2015
 raylee2015
发布于 2015/09/17 16:40
字数 401
阅读 0
收藏 0

1.修改列表

前面我们已经提到过列表的修改,如下面的代码:

>>> aList=[1,2,3,4,5]
>>> for x in range(len(aList)):
	aList[x]+=1

	
>>> aList
[2, 3, 4, 5, 6]
>>>

我们下面用一个更加简洁的方法,通过列表解析来修改列表

>>> aList=[2,3,4,5,6]
>>> aList=[x+1 for x in aList]
>>> aList
[3, 4, 5, 6, 7]
>>>

列表解析的方法代码更少,运行速度更快


2.分解列表解析

我们还是以上面的代码为例子

>>> aList=[2, 3, 4, 5, 6]
>>> aList=[x+1 for x in aList]
>>> aList
[3, 4, 5, 6, 7]
>>>


分解步骤:
1)首先创建一个空列表

2)迭代aList这个列表

3)迭代的过程中aList里面每一个对象都进行+1的运算

4)赋值到新的列表去


我们将上面的步骤变成代码,就如下:

>>> aList=[2, 3, 4, 5, 6]
>>> newList=[]
>>> for item in aList:
	item+=1
	newList.append (item)

	
>>> newList
[3, 4, 5, 6, 7]
>>>

我们再通过一段代码来验证上面的结论

>>> aList=[1,2,3,4,5]
>>> id(aList)
34366728
>>> aList=[x+1 for x in aList]
>>> aList
[2, 3, 4, 5, 6]
>>> id(aList)
4224904
>>>

通过代码可以看见,aList在列表解析过后指向了不同的对象


总结:这一章节从修改列表为切入口,介绍了列表解析的方法,然后在通过分解解析步骤来说明列表解析的内在原理。


这一章节就说到这里,谢谢大家

------------------------------------------------------------------

点击跳转零基础学python-目录

 



版权声明:本文为博主原创文章,未经博主允许不得转载。

本文转载自:http://blog.csdn.net/raylee2007/article/details/48317561

raylee2015
粉丝 6
博文 265
码字总数 44224
作品 0
江门
私信 提问
Python基础总结成千行代码,让Python入门更简单!

只要学会这千行代码,不管你是零基础还是弱基础或是没有接触过编程,都可以快速入门Python!当时我就不信邪啊,等我看完之后,即使作为一个Python老鸟了,还是领会到了很多教授他的独特见解!...

糖宝lsh
2018/09/10
231
0
零基础掌握人工智能(AI)核心语言:Python

1.谁适合本课程? 不管你是想掌握自己人生的第一门编程语言,还是以后想从事数据分析、大数据、机器学习、深度学习、人工智能相关的工作,Python都是你必不可少的工具。本课程零基础即可加入...

菜鸟窝
08/02
0
0
一个开发十年的程序员论:学习Python最正确的步骤(0基础必备)

很多人都在问Python学习步骤应该如何安排?多长时间可以达到精通呢? Python学习步骤应该怎样安排: 首先,学习Python编程技术,自学或者参加培训学习都适用,每个人都有自己的学习方式和方法...

糖宝lsh
2018/09/10
89
0
一个月入门Python爬虫,快速获取大规模数据

数据是创造和决策的原材料,高质量的数据都价值不菲。而利用爬虫,我们可以获取大量的价值数据,经分析可以发挥巨大的价值,比如: 豆瓣、知乎:爬取优质答案,筛选出各话题下热门内容,探索...

Python开发者
2018/04/25
0
0
机器学习的最佳学习路线原来只有四步

AI这个词相信大家都非常熟悉,近几年来人工智能圈子格外热闹,光是AlphoGo就让大家对它刮目相看。今天小天就来跟大家唠一唠如何进军人工智能的第一步——机器学习。 在机器学习领域,Python已...

ufv59to8
2018/05/12
0
0

没有更多内容

加载失败,请刷新页面

加载更多

EDI 电子数据交换全解指南

EDI(Electronic Data Interchange,电子数据交换)技术使得企业与企业(B2B)实现通信自动化,帮助交易伙伴和组织更快更好地完成更多工作,并消除了人工操作带来的错误。从零售商到制造商、物...

EDI知行软件
今天
3
0
CentOS7的LVM动态扩容

# 问题 CentOS7上面的磁盘空间有点紧张,需要扩容。 解决 查询当前磁盘状态 [root@xxx ~]# lsblkNAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINTfd0 2:0 1 4K ...

亚林瓜子
今天
3
0
Kafka 0.8 Producer (0.9以前版本适用)

Kafka旧版本producer由scala编写,0.9以后已经废除 示例代码如下: import kafka.producer.KeyedMessage;import kafka.javaapi.producer.Producer;import kafka.producer.ProducerConfig;......

实时计算
今天
5
0
Giraph源码分析(八)—— 统计每个SuperStep中参与计算的顶点数目

作者|白松 目的:科研中,需要分析在每次迭代过程中参与计算的顶点数目,来进一步优化系统。比如,在SSSP的compute()方法最后一行,都会把当前顶点voteToHalt,即变为InActive状态。所以每次...

数澜科技
今天
6
0
Navicat 快捷键

操作 结果 ctrl+q 打开查询窗口 ctrl+/ 注释sql语句 ctrl+shift +/ 解除注释 ctrl+r 运行查询窗口的sql语句 ctrl+shift+r 只运行选中的sql语句 F6 打开一个mysql命令行窗口 ctrl+l 删除一行 ...

低至一折起
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部