一、概述

序列是Python中最基本的数据结构,C语言中没有这样的数据类型,只有数组有点类似,但序列跟数组差异比较大。

序列的典型特征如下:

  1. 序列使用索引来获取元素,这种索引方式适用于所有序列;
  2. 序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推;
  3. 序列的访问也可以从最后一个元素开始,它的序号是-1,倒数第二个是-2,依此类推。

Python内置了多种序列,最常用的是三种:字符串、列表和元组。列表和元组很类似,的主要不同在于表是可以修改的,而元组不可以。这意味着列表适用于需要中途添加元素的情形,而元组适用于出于某种考虑需要禁止修改序列的情形。禁止修改序列通常出于技术方面的考虑,与Python的内部工作原理相关,这也是有些内置函数返回元组的原因所在。在你自己编写程序时,几乎在所有情况下都可使用列表来代替元组。一种例外情况是将元组用作字典键,在这种情况下,不能使用列表来代替元组,因为字典键是不允许修改的。

二、序列的操作方法

有几种操作适用于所有序列,包括索引、切片、相加、相乘和成员资格检查。另外,Python还提供了一些内置函数,可用于确定序列的长度以及找出序列中最大和最小的元素。

1、 索引:序列中额每个元素都可以通过索引来访问,使用方法就是:

序列[索引],这里序列包括字符串常值、变量和函数返回值。

如:

‘Hello’[0]的值为’H’,‘Hello’[-1]的值为’o’

如s=’Hello’,s[0]、s[-1]这些访问方式都是可以的

c=input(‘Input your name:’)[0] #取得输入名字的首字符

2、 切片(slicing):就是从序列中连续的切一个片段出来进行访问,也就是访问特定范围内的元素。为此,可使用两个索引,并用冒号分隔。两个索引来指定切片的边界,其中第一个索引指定的元素包含在切片内,但第二个索引指定的元素不包含在切片内。切片有如下使用方法(举例中s=’Hello’):

  1. 如果第一个索引指定的元素位于第二个索引指定的元素后面,结果就为空序列。注意这里是指元素后面是指元素在序列中的位置的后面,并不一定是后一个索引值小于前一个的索引值。如s[3:2]为空字符串’’,s[1:3]为字符串’el’,s[1:-1]= ‘ell’;
  2. 如果切片始于序列开头,可省略第一个索引。如果切片结束于序列末尾,可省略第二个索引。如s[:2]=’He’,s[1:]=’ello’
  3. 执行切片操作时,还可以指定另一个参数:步长,步长和两个索引之间用冒号分隔。在普通切片中,步长为1。如果指定的步长大于1,将跳过一些元素。例如,步长为2时,将从起点和终点之间每隔一个元素提取一个元素。步长可以为负数,即从右向左提取元素. 当省略起始和结束索引时,步长为正数时,它从起点移到终点,而步长为负数时,它从终点移到起点。如s[::2]为’Hlo’,s[::-1]为’olleH’;
  4. 使用切片赋值还可在不替换原有元素的情况下插入新元素,方法就是在要插入的索引位置n指定该切片起始都为n的切片等于要插入的新序列。由于字符串、元组都是不可修改的,因此相关例子到列表介绍时来说明。

    3、 拼接:可使用加法运算符来拼接相同类型的序列,一般而言,不能拼接不同类型的序列,如不能拼接列表和字符串,虽然它们都是序列。如s2=s+’,world!’,s2的值就是’Hello,world!’;

    4、 相乘:将序列与数x相乘时,将重复这个序列x次来创建一个新序列。如s1=s2*2,则s1的值是’ Hello,world!Hello,world!’

    5、 函数len、min和max,len返回序列包含的元素个数,而min和max分别返回序列中最小和最大的元素。如len(s)值为5,min(s)的值为’H’,max(s)的值为’o’

    6、 index方法:方法index在列表中查找指定值第一次出现的索引,如s.index(‘l’)返回2。

本节介绍了序列的基本概念,并以字符串为例简单说明了序列的特点和操作方法。由于字符串是不能修改的序列,因此部分序列的操作方法无法在此介绍,后续在进行列表的相关内容介绍时再补充相关内容。

第3章 Python的数据类型 第3.1节 功能强大的 Python序列概述的更多相关文章

  1. 第3章 Python的数据类型目录

    第3.1节 功能强大的 Python序列概述 第3.2节 Python列表简介 第3.3节 强大的Python列表 第3.4节 泛善可陈的元组 第3.5节 丰富的Python字典操作 第3.6节 Py ...

  2. python基本数据类型之字符串(四)

    python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值 ...

  3. python基本数据类型之字符串(二)

    python基本数据类型之字符串(二) 替换方法 python中字符串的替换方法主要有:center.rjust\ljust.expandtabs.format\format_map(格式化).str ...

  4. Python开发【第二章】:Python的数据类型

    基本数据类型 一.整型 如: 18.73.84 整型具备如下功能: class int(object): """ int(x=0) -> int or long i ...

  5. Python开发【第二章】:数据类型

    基本数据类型 一.整型 如: 18.73.84 整型具备如下功能: class int(object): """ int(x=0) -> int or long i ...

  6. Python基本数据类型之字符串、数字、布尔

     一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...

  7. 四.python基础数据类型

    一.什么是数据类型? 什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不 ...

  8. Python 入门之Python基础数据类型及其方法

    Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...

  9. 每天学一点——python基本数据类型

    python基本数据类型 字符串类型(str) 字符串类型的数据一定是描述性质的,且由引号括起来的数据都是字符串数据(单引号.双引号.三引号.) 如下图 (简单易懂) 这里列举一些不明所以的问题 如图 ...

随机推荐

  1. 浅谈OpenGL之DSA

    今天准备写一篇文章简单介绍一下OpenGL4.5引入的一个新的扩展ARB_direct_state_access,这个扩展为OpenGL引入了一个新的特性就是Direct State Acess,下文 ...

  2. 3.2 表 ADT -3.3 Java Collection API 中的表

    3.2 表 ADT 处理形如 A0, A1, A2, --, AN-1 的一般的表.我们称这个表大小为N.将大小为0的特殊表称为空表 对于除空表以外的任何表,称 Ai-1 前驱 Ai,Ai 后继 Ai ...

  3. npm--npm+gulp发布至私服,报错E503解决方案

    由于项目共享组件库的需要,我们搭建了npm私有服务器,供本公司几个项目可以访问.组件库使用gulp+webpack+npm进行打包构建,私服使用的是 Verdaccio直接搭建的,一键式傻瓜搭建,贼好 ...

  4. c#习题之2

    string str = null; Console.WriteLine("请输入一个字符串"); str = Console.ReadLine(); char[] c = new ...

  5. Core WebApi项目快速入门(一):环境部署

    1.WebApi新建与部署 1.1 新建Core WebApi工程 1.2 部署 1.2.1 IIS部署 首先以文件方式发布应用程序,然后下载依赖.net core运行时及host安装包 在iis中看 ...

  6. Pytest系列(八) - 自定义标记mark的使用

    一.前言: pytest 支持自定义标记,自定义标记方便用例模块划分,也可以理解方便管理,配合标记参数 -m使用 二.示例代码 # -*- coding: utf-8 -*- # @Time : 20 ...

  7. fcntl函数用法——复制文件描述符

    文件描述符复制和输出重定向dup() 用最小的文件描述符来复制,从0开始搜素.复制文件描述符后,最小文件描述符指向被复制描述符指向的文件.dup2(int oldfd,int newfd) 强制用ne ...

  8. ssh配好无密码登录(RSA公钥)后,还要密码登录的问题的解决办法

    首先删除 /root/.ssh目录 然后ssh-keygen 生成新的认证目录 然后检查能否免密码登陆 如果还不能可能是/root/目录的权限不对了 可能被异常改到777了 做操作 chmod 650 ...

  9. Python_pycharm调试模式+使用pycharm给python传递参数

    一.通过pycharm 给python传递函数 1. 在pycharm终端中写入要获取的参数,进行获取 1>启动pycharm 中Terminal(终端) 窗口 点击pycharm左下角的图标, ...

  10. Mac如何像Windows一样在文件系统中查看文件?

    许多Windows系统用户刚转向Mac的时候,肯定非常不适应Mac系统独特的文件系统,就像安卓转iOS系统一样,那么Mac电脑如何像Windows系统一样,能够查看电脑上的各个盘,如C盘D盘等等,然后 ...