1 序列

在Python中,最基本的数据结构是序列,序列中每个元素被分配一个编号,也称为索引。第一个索引为0,第二个则是1,以此类推。序列中最后一个元素被标为-1,倒数第二个元素被标为-2,以此类推。

2 Python内建序列

Python包含6种内建序列,分别是列表,元组,字符串,UNICODE字符串,BUFFER对象和XRANGE对象。开始重点关注列表和元组。

3 列表和元组(序列)

列表和元组一个很重要的区别是,列表可以修改,元组则不能被修改。几乎所有情况下列表都可以替代元组,但有一个列外情况,使用元组做为字典的键,在这种情况下,因为键不能被修改,所以不能使用列表。

4 序列的通用操作

所有序列类型都可以进行某些特定操作,包括索引,分片,加,乘和检查某个序列是否属于序列成员。另外还有计算序列长度,找出最大元素最小元素的内建函数。

  4.1索引

  序列中所有元素都是有编号的,从0开始递增,这些元素可以通过编号来访问,比如下面的例子

  s = ("xxxxx", "yyyy")

print(s[0])

  输出是 "xxxxx"

  4.2 分片

  跟索引访问序列中的元素相似,但是用来访问序列中一定范围的元素。分片通过冒号相隔的俩个索引值来实现s[Index1:Index2]。一般通过分片来提取序列中的一部分元素。Index1是需要提取部分的第一个元素的编号,Index2是分片之后剩余部分的第一个元素的编号。也就是在提取的部分中,是不包括序列中索引为Index2的元素的。简而言之,就是第一个索引元素是包含在分片内,第二个索引元素是不包含在分片内的。

  4.3 序列相加

  可以通过加号来实现序列的连接操作。比如俩个字符串相加连接成一个新的字符串。

  4.4 序列乘法

  用数字X乘以一个序列会产生一个新的序列,在新的序列中,原来的序列被重复X次。

  4.5 成员资格

  为了检查一个值是否存在序列中,可以使用in运算符号。这个运算符检查某个条件是否为真,然后返回相应的值。例如

  s = [ ['sysnap', 123], ['huangzheng',246], ['ipi',9999]]
  if ['sysnap',123] in s: print("find it")

  4.6 长度,最大值,最小值

  内建len函数返回序列中所包含元素的数量,min和max函数则分别返回序列中最大和最小的元素。

5 序列之列表

列表的内容是可被修改的。可以使用list函数来创建列表,list(ohter s)就可以创建列表了。列表可以使用所有适于序列的标准操作,除此之外,还有其它方法来操作列表

  5.1 列表的基本操作

    5.1.1 删除元素

    从列表中删除元素很容易,使用del语句来实现。

    5.1.2 分片赋值

    使用分片赋值,可以使用与原序列不等长的序列将分片替换,这样通过分片操作也可以实现插入新的元素,删除元素(用空列表替换)

    name = list("Pyxxxx")

    name[2:] = list("thon")

    print(name)

  5.2 列表的方法

  方法是一个于某些对象有紧密联系的函数,对象可以是列表,数字,也可能是字符串等其它类型。一般方法的调用方式为 对象.方法(参数)

    5.2.1 append

    append方法用于在列表末尾追加新的对象。

    5.2.2 count

    统计某个元素在列表中出现的次数

    5.2.3 extend

    用新列表扩展原有的列表,与连接操作的区别在于,extend方法修改了被扩展序列,而连接操作则是反回一个新的序列,比如

    a = [1, 2, 3]

    b = [1, 2, 4]

    a.extend(b)执行之后 a 就变成[1, 2, 3, 1, 2, 4]

    5.2.4 index

    index方法用于从列表中找出某个值第一次匹配的索引未知

    5.2.5 insert

    insert用于将对象插入到列表中指定的位置,跟分片赋值一样,但可读性要高。比如

    s = [1, 2, 3, 4, 5]

    s.insert(3, 'new')

    执行之后,s变为[1, 2, 3, 'new', 4, 5]

    5.2.6 pop

    pop方法用于移除列表中的元素,并返回被移除的元素,默认是移除最后一个元素,也可以移除指定索引的元素。

    5.2.7 remove

    remove方法用于移除列表中跟输入匹配的元素,跟pop的一个区别是输入参数是对象而不是索引,

    5.2.8 reverse

    reverse方法将列表中的元素反向存放,但不返回值

6 序列之元组

元组可以认为是不可变的序列,元组大多时候是通过()园括号括起来的。关于元组有一个注意的地方是,请看下面例子

3*(10+2)这是一个数学表达式,输出结果是36,

3*(10+2,)输出结果却是(12,12,12)

  6.1 tuple函数

  以一个序列作为参数把它转为元组

  6.2 元组基本操作

  除了创建元组和访问元组元素外,没有太多操做,基本用的是序列支持的标准操作。

【原】Python基础-序列的更多相关文章

  1. Python基础---序列对象

    一.序列简介 数据结构是通过某种方式组织在一起的元素的集合. 容器(Container)是一种Python的数据结构,基本上是包含其他对象的任意对象.序列和映射(如字典)是两类主要的容器.集合(Set ...

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

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

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

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

  4. python基础之数值类型与序列类型

    Hello大家好,我是python学习者小杨同学,已经学习python有一段时间,今天将之前学习过的内容整理一番,在这与大家分享与交流,现在开始我们的python基础知识之旅吧. 数值类型与序列类型 ...

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

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

  6. python基础--数值类型和序列类型

    Python中数值类型:int(整数),float(浮点数),True/False(布尔值,首字母必须大写) int:1    #任意整数 float:2.3   #小数 python赋值: a = ...

  7. python基础之循环结构以及列表

    python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...

  8. python基础篇-day1

    python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...

  9. Python基础学习笔记(六)常用列表操作函数和方法

    参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuef ...

随机推荐

  1. SEO运用meta标签进行网站优化

    SEO定义 Search Engine Optimization 搜索引擎优化 一,常用的HTTP-EQUIV类型: Set-Cookie(cookie设定) 说明:如果网页过期,存盘的cookie将 ...

  2. MySQL 数据库的安装与卸载

    一.安装 (1)打开下载的 mysql 安装文件双击解压缩,运行“mysql-5.5.40-win32.msi” (2)选择安装类型, 有“Typical(默认) ”. “Complete(完全) ” ...

  3. JDK反编译的两种方式

    环境 链接:https://pan.baidu.com/s/1DwWj5Kt4Gfi68k_EOAea_Q 提取码:57j2 apktools+dex2jar+gd-gui 方式一: apktools ...

  4. 开始Swift学习之路

    Swift出来好几个月了,除了同事分享点知识外,对swift还真没有去关心过.GitHub上整理的学习Swift资料还是很不错的,目前也推出了电子书和PDF格式. Swift的语法和我们平常开发的语言 ...

  5. Vue指令之`v-bind`的三种用法及v-on事件指令

    v-bind:是 Vue中,提供的用于绑定属性的指令 1. 直接使用指令`v-bind` 2. 使用简化指令`:` 3. 在绑定的时候,拼接绑定内容:`:title="btnTitle + ...

  6. 前端框架开始学习Vue(三)

    初步安装.与搭建    https://www.cnblogs.com/yanxulan/p/8978732.html ----如何搭建一个vue项目 安装 nodejs,,, npm i == np ...

  7. ResourceManager学习之ApplicationMaster,NodeManager管理

    ApplicationMaster管理部分主要由三个服务构成,分别是ApplicationMasterLauncher.AMLivelinessMonitor和ApplicationMasterSer ...

  8. Linux下相关性能指标数据采集

    1)如何查看某个服务进程所占本机物理内存及百分比情况?可以使用Linux命令行查看,也可以使用脚本实现.如下以查看本机kube-nginx服务进程为例: [root@kevin ~]# pidof k ...

  9. Spring Boot全局异常处理

    本文为大家分享了Spring Boot全局异常处理,供大家参考,具体内容如下 1.后台处理异常 a.引入thymeleaf依赖 <!-- thymeleaf模板插件 --> <dep ...

  10. 第八届蓝桥杯C/C++程序设计本科B组决赛 ——发现环(编程大题_签到题_tarjan判环)

    标题:发现环 小明的实验室有N台电脑,编号1~N.原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络.在树形网络上,任意两台电脑之间有唯一的路径相连. 不过在最近一次维护网络时,管理员误操 ...