第2章 Python序列
Python序列类似于C或Basic中的一维、多维数组等,但功能要强大很多,使用也更加灵活、方便,Head First Python一书就戏称列表是“打了激素”的数组。
Python中常用的序列结构有列表、元组、字典、字符串、集合等,大部分可迭代对象也支持类似于序列的用法。列表、元组、字符串等序列类型以及range对象均支持双向索引,第一个元素下标为0,第二个元素下标为1,以此类推。可以使用负数作为索引,则最后一个元素下标为-1,倒数第二个元素下标为-2,以此类推。可以使用负整数作为索引是Python序列的一大特色,熟练掌握和运用它可以大幅度提高开发效率。
序列分类:
(1)有序序列:列表、元组、字符串、(range、zip、map、enumerate等)
(2)无序序列:字典、集合
(3)可变序列:列表、字典、集合
(4)不可变序列:元组、字符串、(range、zip、map、enumerate等)
上述这些序列类型将在后续章节分别介绍。
《道德经》有云:“合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。”简单地说就是一句话,一口吃不成胖子,做什么都要一步步来,尤其不能忽视基础知识积累的重要性。《庄子·逍遥游》也认为“且夫水之积也不厚,则其负大舟也无力。”没有坚实的基础知识作支撑和后端,就很难有很大的上升空间。练拳不练功,到老一场空。大量实际开发经验表明,熟练掌握Python基本数据结构(尤其是序列)的用法可以更加快速有效地解决实际问题。大家慢慢就会发现,实际工作中遇到的每个问题最终都会用到一些基本数据结构的方法或内置函数来解决,恰如《道德经》所说“玄之又玄,众妙之门”。这一章通过大量案例介绍了列表、元组、字典、集合等几种基本数据结构的用法,同时还有range对象、zip对象以及enumerate对象的巧妙应用,以及在实际应用中非常有用的列表推导式、切片操作、生成器推导式等。
第2章 Python序列的更多相关文章
- [Python笔记][第二章Python序列-复杂的数据结构]
2016/1/27学习内容 第二章 Python序列-复杂的数据结构 堆 import heapq #添加元素进堆 heapq.heappush(heap,n) #小根堆堆顶 heapq.heappo ...
- [Python笔记][第二章Python序列-tuple,dict,set]
2016/1/27学习内容 第二章 Python序列-tuple tuple创建的tips a_tuple=('a',),要这样创建,而不是a_tuple=('a'),后者是一个创建了一个字符 tup ...
- [python笔记][第二章Python序列-list]
2016/1/27学习内容 第二章 Python序列-list list常用操作 list.append(x) list.extend(L) list.insert(index,x) list.rem ...
- [Python学习笔记][第四章Python字符串]
2016/1/28学习内容 第四章 Python字符串与正则表达式之字符串 编码规则 UTF-8 以1个字节表示英语字符(兼容ASCII),以3个字节表示中文及其他语言,UTF-8对全世界所有国家需要 ...
- 零基础学Python--------第2章 Python语言基础
第2章 Python语言基础 2.1 Python语法特点 2.11注释 在Python中,通常包括3种类型的注释,分别是单行注释.多行注释和中文编码声明注释. 1.单行注释 在Python中,使用 ...
- (python数据分析)第03章 Python的数据结构、函数和文件
本章讨论Python的内置功能,这些功能本书会用到很多.虽然扩展库,比如pandas和Numpy,使处理大数据集很方便,但它们是和Python的内置数据处理工具一同使用的. 我们会从Python最基础 ...
- (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
第2章 Python语法基础,IPython和Jupyter Notebooks 当我在2011年和2012年写作本书的第一版时,可用的学习Python数据分析的资源很少.这部分上是一个鸡和蛋的问题: ...
- 第1章 Python数据模型
#<流畅的Python>读书笔记 # 第一部分 序幕 # 第1章 Python数据模型 # 魔术方法(magic method)是特殊方法的昵称.于是乎,特殊方法也叫双下方法(dunder ...
- 第十二章 Python文件操作【转】
12.1 open() open()函数作用是打开文件,返回一个文件对象. 用法格式:open(name[, mode[, buffering[,encoding]]]) -> file obj ...
随机推荐
- mp3播放时间
import os os_sep = os.sep this_file_abspath = os.path.abspath(__file__) this_file_dirname, this_file ...
- c++ 编译器会绕过拷贝构造函数
C++ primer P442 P447:在拷贝初始化过程中,编译器可以跳过拷贝构造函数,直接创建对象.即,编译器允许将下面的代码 "; //1 改写为 "); //2 由于str ...
- 使用Vitamio插件显示花屏
Vitamio是一款 Android 与 iOS 平台上的全能多媒体开发框架,全面支持硬件解码与 GPU 渲染. 使用vitamio进行播放器的开发非常便捷,使用vitamio的解码,自己编写播放器界 ...
- JavaScript Patterns 2.5 (Not) Augmenting Build-in Prototypes
Disadvantage Other developers using your code will probably expect the built-in JavaScript methods t ...
- min-max容斥小结
https://www.zybuluo.com/ysner/note/1248287 定义 对于一个集合\(S\), \(\min(S)\)表示其第一个出现的元素(\(or\)最小的元素), \(\m ...
- RDA EQ&频响曲线
相关数据: FAC->Audio->EQ Setting EQ Band - Gain Frequency Q Factor 1.5 FAC->Audio->PEQ // En ...
- Dex文件方法数超过65536怎么破?
你的应用中的Dex 文件方法数超过了最大值65536的上限,会提示你: UNEXPECTED TOP-LEVEL EXCEPTION:java.lang.IllegalArgumentExceptio ...
- 题解报告:hdu 1564 Play a game(找规律博弈)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1564 Problem Description New Year is Coming! ailyanlu ...
- Android Market google play store帐号注册方法流程 及发布应用注意事项【转载】
[转载]http://www.cnblogs.com/zdz8207/archive/2012/07/09/google-play-store-registered.html Android Mark ...
- Android java.lang.RuntimeException: Canvas: trying to use a recycled bitmap android.graphics.Bitmap@412d7230
近期遇到了如标题这种错误,再次记录解决方法.本文參考帖子: http://bbs.csdn.net/topics/390196217 出现此bug的原因是在内存回收上.里面用Bitamp的代码为: t ...