Chapter 3
1、序列类型可以使用成员操作符in,大小计算函数(len()),分片([]),都可以迭代。Python内置的序列类型:str,list,tuple,bytearray,bytes.标准库中的序列类型:集合,命名的元组。
2、*也可作为序列拆分运算符,当且仅当其在赋值运算符右侧时。首先将右侧的序列根据左侧变量个数拆分,并首先按照顺序将数据项赋给没有*的变量,然后剩下的数据项赋给带*的变量
MK@XQFY~FQK}JD.jpg)
3、列表推导/列表内涵:[expression for item in list]/[expression for item in list if condition]
[s+c+d for s in sex for c in color for d in din]
4、元组和列表都是有序的序列,对其迭代时以从左到右的顺序提供数据项。都包含0个或多个对象引用,数据项可以是任意类型,然后对于集合,是无序的,对其迭代时,集合类型以任意顺序提供数据项。并且其数据项只能是可哈希的类型,float,int,tuple,str都是可哈希的,list,set,dict都是不可哈希对象。因为集合是无序的,可变的,所以不存在索引位置,也就不能分片或者是步长分片。
5、tuple(),list(),set()都是可调用的函数,无参数是返回空的元组,列表,集合,有参数时尝试将其转化为对应的组合类型。可以看出list和tuple是有序的,set是无序的,但是可以过滤重复的数据项。
5、集合内涵与列表内涵相似:{expression for each in set}/{expression for each in set if condition}
6、字典是一种无序的组合类型,包含0或多个键值对。空的{}会创建空字典,不会创建空集合。键是指向可哈希运算的对象的对象引用,而值是指向任意数据类型的对象引用。即键只能是str,touple,float,int型。值可以是任意型。
7、创建字典主要两种方式:直接创建:

另外一种是d=dict(root=18,blue=[75,'r',2],21='bejn')
字典采用[]操作符存取数据项,键是可哈希的对象的引用,‘root’就是可哈希的字符串类型,字面值形式的对象引用(x='root')d['root'](d[x])一个意思。[]内具体的和哈希的类型,虽然d[(4,11)]看着很怪,d[y](y=(4,11))的背后还是d[(4,11)]
8、任意可迭代的组合类型都可调用len(),max(),min(),all(),any()函数。当然最大最小必须是针对值而言,应该全是数值型的组合类型才有意义。否则,提示不能将字符换类型转化为int
9、关于range(),对其type表明其是range类型,range(n)提供了n个连续的整数,可以理解为将n个整数存储在了range类型中,如果想查看此可迭代类型中的每个数据项,分两步走:i=iter(range(n))#创建迭代子i,i是个迭代对象。
第二步:next(i)#循环使用next(i)逐个访问可迭代对象range(n)中的每个数据项。
访问所有可迭代数据类型的所有数据项实际上都是执行了上面两步,for in只是封装了这两部而已。
这样访问未免太过繁琐,可以list(range(n)),touple(range(n))将range类型的整数数据项转化为列表或者是元组的数据项,range(n)的存在意义也正在此。
10、enumerate(i,[index]),返回(index,one item),序列类型都可以用此函数,用法即是在返回每个数据项的同时,对每个数据项标记,返回值中index即是标记,默认标记从0开始,可以在函数中重新定义。enumerate(d)对字典操作时,迭代出结果是‘键’,enumerate(d.items())才可以迭代出’键值对‘,d.items()返回值是(key,value)的元组。所以才会报错,需要不止两个值。(index,key,value)=(index,(key,value))明显对不上号~
搞定~
11、字典与列表,元组,集合等的迭代不同,因为字典内部是键值对,键和值都可迭代,所以,对其迭代与一般的序列稍有不同,直接对字典迭代得出的是‘键’。
Chapter 3的更多相关文章
- Modern C++ CHAPTER 2(读书笔记)
CHAPTER 2 Recipe 2-1. Initializing Variables Recipe 2-2. Initializing Objects with Initializer Lists ...
- Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- ApiWrapper
前面两片文章讲解了通过AIDL和Messenger两种方式实现Android IPC.而本文所讲的并不是第三种IPC方式,而是对前面两种方式进行封装,这样我们就不用直接把Aidl文件,java文件拷贝 ...
- Android Programming: Pushing the Limits -- Chapter 7:Android IPC -- Messenger
Messenger类实际是对Aidl方式的一层封装.本文只是对如何在Service中使用Messenger类实现与客户端的通信进行讲解,对Messenger的底层不做说明.阅读Android Prog ...
- [转]第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
仅供参考,还未运行程序,理解部分有误,请参考英文原版. 绿色部分非文章内容,是个人理解. 转载请注明:http://blog.csdn.net/raby_gyl/article/details/174 ...
- 《深入理解计算机系统》 Chapter 7 读书笔记
<深入理解计算机系统>Chapter 7 读书笔记 链接是将各种代码和数据部分收集起来并组合成为一个单一文件的过程,这个文件可被加载(货被拷贝)到存储器并执行. 链接的时机 编译时,也就是 ...
- 《Linux内核设计与实现》Chapter 3 读书笔记
<Linux内核设计与实现>Chapter 3 读书笔记 进程管理是所有操作系统的心脏所在. 一.进程 1.进程就是处于执行期的程序以及它所包含的资源的总称. 2.线程是在进程中活动的对象 ...
- PRML Chapter 2. Probability Distributions
PRML Chapter 2. Probability Distributions P68 conjugate priors In Bayesian probability theory, if th ...
- PRML Chapter 1. Introduction
PRML Chapter 1. Introduction 为了防止忘记,要把每章的重要内容都记下来,从第一章开始 2012@3@28 今天又回去稍微翻了一下第一章内容,发现第一次看的时候没有看透,每次 ...
- MathType 插入定义的chapter and section break后无法隐藏
每一章标题后面插入一个“Next Section Break”,这样定稿后各章文件组合为总文件后,方程编号会自动递增,如果已经插入了默认的“Equation Chapter 1 Section 1”, ...
- WITCH CHAPTER 0 [cry] 绝密开发中的史克威尔艾尼克斯的DX12技术演示全貌
西川善司的[WITCH CHAPTER 0 cry]讲座 ~绝密开发中的史克威尔艾尼克斯的DX12技术演示全貌 注:日文原文地址: http://pc.watch.impress.co.jp/d ...
随机推荐
- linux内核SPI总线驱动分析(一)(转)
linux内核SPI总线驱动分析(一)(转) 下面有两个大的模块: 一个是SPI总线驱动的分析 (研究了具体实现的过程) 另一个是SPI总线驱动的编写(不用研究具体的实现过程) ...
- [terry笔记]RMAN综合学习之备份
rman是最经济实惠的oracle备份工具,在这里做一个rman的整体学习. 文章中大多是rman命令的语法,还是最好做做实验,以便印象深刻,因为大多数数据库的备份就是按时跑脚本,恢复也不是经常能遇到 ...
- JQuery中ajax跨域问题
var url = "http://apis.juhe.cn/idcard/index?key=e0a6277420506b2816b82f7d7821976c&cardno=&qu ...
- 浅谈Objective-C异常处理
-----<a href="http://www.itheima.com" target="blank">Java培训.Android培训.iOS培 ...
- Oracle结果集 (MSSQL存储过程写报表)
接触SQL Server比较多,写报表是用存储过程实现. 对Oracle实现像MSSQL那样,还是有很多疑问
- oracle 临时表空间
环境: OS: Oracle Linux Server release 5.7 DB: Oracle Database 11g Enterprise Edition Release 11.2.0.3. ...
- “猜你喜欢”是怎么猜中你心思的?
文/Joseph A. Konstan & John Riedl)如今,到网上购物的人已经习惯了收到系统为他们做出的个性化推荐.Netflix 会推荐你可能会喜欢看的视频.TiVo 会自动把节 ...
- Android--将Bitmip转化成字符串
因为自己做的东西想要上传到服务器,所以就选择了将Bitmip转化成了字符串在上传 其它格式的图片我们好像可以用Bitmap.Factory 去将他们转化成BitMap 转化成字符串的代码 //将bit ...
- Oracle连乘聚合函数 MUL
Oracle提供了求和(SUM),平均值(AVG)等聚合函数,但没有提供连乘的聚合函数. 比如有一个表如下: ID NUM 1 4 2 2 3 2 如果要求NUM列的连乘数,即求: 4*2*2 ,目前 ...
- Eclipse Indigo 3.7.0 安装GIT插件提示 requires 'bundle org.eclipse.team.core(转)
文章参考来源:http://showlike.iteye.com/blog/1958538 错误提示: Cannot complete the install because one or more ...