sequence 序列


sequence序列是一组有顺序的元素的集合

(严格的说,是对象的集合,但鉴于没有引入对象的概念,暂时说元素)

序列可以包含一个或多个元素,也可以没有任何元素

我们之前所说的基本数据类型,都可以作为序列的元素。元素还可以是另一个序列,以及我们以后的其他对象。

序列有两种:tuple(定值表:也叫元组);和list(列表)

s1 = (2,1.3,'love',5.6,9,False)  #是一个tuple
s2 = [True,5,'smile']  #是一个list

print (s1,type(s1))

([True, 5, 'smile'], <type 'tuple'>)

print (s2,type(s2))

([True, 5, 'smile'], <type 'list'>)

tuple和list的主要区别在于,一旦建立,tuple的各个元素不可再变更,而list的各个元素可以再变更。

一个序列作为另一个序列的元素

s3 = [1,[3,4,5]]

空序列

s4 = []

元素的引用


序列元素的下标从0开始:

print (s1[01])

1.3

print (s2[2])

smile

print (s1[1][2])

v

由于list的元素可更变,你可以对list进行赋值

s2[1] = 3.0

print (s2)

以上输出

3.0

如果你对tuple做这样的操作,会得到错误提示。

所以,可以看到,序列的引用通过s[int]实现,int为下标。

其他引用方式(切片)


范围引用:基本样式[下限:上限:步长]

print (s1[:5])  #从开始到下标4(下标5的元素不在内)

(2, 1.3, 'love', 5.6, 9)

print (s1[2:])  #从下标2到最后

('love', 5.6, 9, 12, False)

print (s1[0:5:2])  #从下标0到下标4(下标5不包括),每个2取元素()

(2, 'love', 9)

print (s1[2:0:-1])  #从下标2到下标1

('love', 1.3)

从上可以看出,在范围引用的时候,如果写明上限,那么这个上限本身不包括在内。

尾部元素引用

print (s1[-1])  #序列最后一个元素

print (s1[-3])  #序列倒数第三个元素

字符串是元组


字符串是特殊的元组,因此可以执行元组的相关操作。

str = 'abcdef'

print (str(2:4))

'cd'

总结


tuple元素不可变,list元素可变

序列的引用 s[2],s[1:8:2]

字符串是一种tuple

python基础03序列的更多相关文章

  1. Python基础03 序列

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! sequence 序列 sequence(序列)是一组有顺序的元素的集合 (严格的 ...

  2. Python 基础03 序列

    sequence 序列 sequence(序列) 是一组有顺序的元素的集合 (严格的说,是对象的集合,但鉴于我们还没有引入"对象" 概念,暂时说元素) 序列可以包含一个或多个元素, ...

  3. Python基础:序列(列表、元组)

    一.概述 列表(list)是由一个个 Python对象 组成的序列.其中,Python对象 可以是任何类型的对象,包括 Python标准类型(数值.字符串.列表.元组和字典)以及 用户自定义类型(类) ...

  4. Python基础:序列(字符串)

    一.概述 字符串 类似于C中的字符数组(功能上更像C++中的string),它是由一个个 字符 组成的序列.与C/C++不同的是,Python中没有 字符 这个类型,而是用 长度为1的字符串 来表示字 ...

  5. python基础之序列类型的方法——字符串方法

    python基础之序列类型的方法--字符串方法 Hello大家好,我是python学习者小杨同学,经过一段时间的沉淀(其实是偷懒不想更新),我终于想起了自己的博客账号,所以这次带来的是序列方法的后半部 ...

  6. Python基础:序列

    一.概述 序列类型(Sequence Types)类似于C中的数组,它是包含一组成员的连续列表,这些成员紧邻排列,并且可以通过序号(下标偏移量)访问其中的一个或多个成员.序列类型的示意图如下所示: P ...

  7. Python基础__Python序列基本类型及其操作(1)

    本节考虑的Python的一个中要的内置对象序列, 所谓的序列即一个有序对象的集合.这里的对象可以是数字.字符串等.根据功能的不同将序列分为字符串.列表.元组,本文将以下这几种对象做一些介绍. 一. 字 ...

  8. python基础之 序列 pickle&json

    内容梗概: 1. 什么是序列化 2. pickle(重点) 3. shelve 4. json(重点) 5. configparser模块 1. 什么是序列化 在我们存储数据或者网络传输数据的时候. ...

  9. Python数据类型-03.序列-列表和元组

    本文主要记录关于Python序列中列表和元组的定义特点和常用方法 1.序列(sequence) 1.1.序列的定义 序列是一组有顺序的元素的集合(其实是是对象的集合,后期会引入“对象”这个概念)序列包 ...

随机推荐

  1. iOS中为什么block用copy属性

    1. Block的声明和线程安全Block属性的声明,首先需要用copy修饰符,因为只有copy后的Block才会在堆中,栈中的Block的生命周期是和栈绑定的,可以参考之前的文章(iOS: 非ARC ...

  2. C/C++: C++位域和内存对齐问题

    1. 位域: 1. 在C中,位域可以写成这样(注:位域的数据类型一律用无符号的,纪律性). struct bitmap { unsigned a : ; unsigned b : ; unsigned ...

  3. doT.js学习

    doT.js特点是快,小,无依赖其他插件.但是一般和jquery一起使用 官网:http://olado.github.io 使用方法:{{= }} for interpolation{{ }} fo ...

  4. CC2540自己的配置文件

    首先要指出,字段属性有notify的不能同时有read,write属性,别问哥,哥也不知道,反正我做的就不能notify,只能read,write. 分享的程序段第一字段有notify属性,第二字段r ...

  5. <c:if test="value ne, eq, lt, gt,...."> 用法

    类别 运算符 算术运算符 + . - . * . / (或 div )和 % (或 mod ) 关系运算符 == (或 eq ). != (或 ne ). < (或 lt ). > (或 ...

  6. SpringMVC学习

    1,对SpringMVC的理解 a,基于MVC的设计理念 b,采用松散耦合可插拔组件结构,比其他MVC框架更具扩展性和灵活性 c,支持REST风格的URL请求 d,该框架围绕DispatcherSer ...

  7. 在jquery中,全选/全不选的表示方法

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/ ...

  8. centos7.0 下安装git(ssh方式)

    最近刚弄了个阿里云,在上面弄个git服务器,这里只弄了ssh方式访问,http方式访问的可以看我另外一个随笔http://www.cnblogs.com/hz-cww/p/6077970.html. ...

  9. javase-->基础知识(二)

    1.算术运算符 7种:+,-,*,/,%,++,--;          --------------------注意不要想当然,按照类型规则来计算 ++在变量前,先加1再取变量使用 --同理 在变量 ...

  10. 微信公众平台oauth2.0网页授权参考资料

    http://www.wangwenxiao.com/weixin/wxgzptoauth2_0wysq_12.html