第3章 Python的数据类型 第3.1节 功能强大的 Python序列概述
一、概述
序列是Python中最基本的数据结构,C语言中没有这样的数据类型,只有数组有点类似,但序列跟数组差异比较大。
序列的典型特征如下:
- 序列使用索引来获取元素,这种索引方式适用于所有序列;
- 序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推;
- 序列的访问也可以从最后一个元素开始,它的序号是-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’):
- 如果第一个索引指定的元素位于第二个索引指定的元素后面,结果就为空序列。注意这里是指元素后面是指元素在序列中的位置的后面,并不一定是后一个索引值小于前一个的索引值。如s[3:2]为空字符串’’,s[1:3]为字符串’el’,s[1:-1]= ‘ell’;
- 如果切片始于序列开头,可省略第一个索引。如果切片结束于序列末尾,可省略第二个索引。如s[:2]=’He’,s[1:]=’ello’
- 执行切片操作时,还可以指定另一个参数:步长,步长和两个索引之间用冒号分隔。在普通切片中,步长为1。如果指定的步长大于1,将跳过一些元素。例如,步长为2时,将从起点和终点之间每隔一个元素提取一个元素。步长可以为负数,即从右向左提取元素. 当省略起始和结束索引时,步长为正数时,它从起点移到终点,而步长为负数时,它从终点移到起点。如s[::2]为’Hlo’,s[::-1]为’olleH’;
- 使用切片赋值还可在不替换原有元素的情况下插入新元素,方法就是在要插入的索引位置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序列概述的更多相关文章
- 第3章 Python的数据类型目录
第3.1节 功能强大的 Python序列概述 第3.2节 Python列表简介 第3.3节 强大的Python列表 第3.4节 泛善可陈的元组 第3.5节 丰富的Python字典操作 第3.6节 Py ...
- python基本数据类型之字符串(四)
python基本数据类型之字符串(四) 判断方法 python中有一类用来判断字符串形式的方法,该类方法有两个特点:(1)方法名都是is开头(除了startswith和endswith):(2)返回值 ...
- python基本数据类型之字符串(二)
python基本数据类型之字符串(二) 替换方法 python中字符串的替换方法主要有:center.rjust\ljust.expandtabs.format\format_map(格式化).str ...
- Python开发【第二章】:Python的数据类型
基本数据类型 一.整型 如: 18.73.84 整型具备如下功能: class int(object): """ int(x=0) -> int or long i ...
- Python开发【第二章】:数据类型
基本数据类型 一.整型 如: 18.73.84 整型具备如下功能: class int(object): """ int(x=0) -> int or long i ...
- Python基本数据类型之字符串、数字、布尔
一.数据类型种类 Python中基本数据类型主要有以下几类: Number(数字) String(字符串) Bool (布尔) List(列表) Tuple(元组) Sets(集合) Diction ...
- 四.python基础数据类型
一.什么是数据类型? 什么是数据类型? 我们人类可以很容易的分清数字与字符的区别,但是计算机并不能呀,计算机虽然很强大,但从某种角度上看又很傻,除非你明确的告诉它,1是数字,“汉”是文字,否则它是分不 ...
- Python 入门之Python基础数据类型及其方法
Python 入门之Python基础数据类型 1. 整型:int 用于计算,用于比较 (在赋值的时候先执行等号右边的内容) 1.1 整数的加 a = 10 b = 20 print(a + b) 结果 ...
- 每天学一点——python基本数据类型
python基本数据类型 字符串类型(str) 字符串类型的数据一定是描述性质的,且由引号括起来的数据都是字符串数据(单引号.双引号.三引号.) 如下图 (简单易懂) 这里列举一些不明所以的问题 如图 ...
随机推荐
- mac os 10.15安装jdk 1.6
1.如果出现报错 已经安装了最高版本 下载请看:https://www.jianshu.com/p/3b580c405c7c 请看下面方法处理错误 1.在mac的访达中 找到 "脚本编辑器& ...
- Linux系统下安装配置JDK(rpm方式及tar.gz方式)
以前都是在Windows环境进行开发的,最近因工作需要:学习在Linux系统下搭建开发环境,自此记录搭建过程,以方便查阅. 本文借鉴了 Angel挤一挤 .小五 两位的博客. 准备材料: JDK下载链 ...
- NER的数据处理
import os class TransferData: def __init__(self): cur = '/'.join(os.path.abspath(__file__).split('/' ...
- HTML5+CSS3热门活动页面
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- 剑指Offer-Python(21-25)
21.栈的压入和弹出序列 新建一个栈,将数组A压入栈中,当栈顶元素等于数组B时,就将其出栈,当循环结束时,判断栈是否为空,若为空则返回true. class Solution: def IsPopOr ...
- linux常用命令和系统基本目录
Linux 基础命令及基本目录 一.网卡 1.网卡配置文件路径 /etc/sysconfig/network-scripts/ifcfg-eth0 配置文件: TYPE=Ethernet # 以太 ...
- 内网渗透 day13-漏洞复现
漏洞复现 目录 1. 永恒之蓝(445端口) 2. 手动微笑漏洞(21端口 vsftpd2.3.4版本) 3. ingres数据库DBMS后门(1524端口) 4. distcc漏洞(3632) 5. ...
- 14Flask重要知识
一,李辉<Flask Web开发实战> 1,内网穿透 内网穿透工具可以快速让flask项目运行: 1,https://localtunnel.github.io/www/ 2,https: ...
- map,filter
def is_odd(n): return n % 2 == 1 newlist = filter(is_odd, [i for i in range(0,5)]) print(list(newlis ...
- Spider--补充--Requests--session&cookie
# session 与 cookie # 可能大家对session已经比较熟悉了,也大概了解了session的机制和原理,但是我们在做爬虫时如何会运用到session呢,就是接下来要讲到的会话保持. ...