【原】Python基础-序列
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基础-序列的更多相关文章
- Python基础---序列对象
一.序列简介 数据结构是通过某种方式组织在一起的元素的集合. 容器(Container)是一种Python的数据结构,基本上是包含其他对象的任意对象.序列和映射(如字典)是两类主要的容器.集合(Set ...
- Python基础:序列(列表、元组)
一.概述 列表(list)是由一个个 Python对象 组成的序列.其中,Python对象 可以是任何类型的对象,包括 Python标准类型(数值.字符串.列表.元组和字典)以及 用户自定义类型(类) ...
- Python基础:序列(字符串)
一.概述 字符串 类似于C中的字符数组(功能上更像C++中的string),它是由一个个 字符 组成的序列.与C/C++不同的是,Python中没有 字符 这个类型,而是用 长度为1的字符串 来表示字 ...
- python基础之数值类型与序列类型
Hello大家好,我是python学习者小杨同学,已经学习python有一段时间,今天将之前学习过的内容整理一番,在这与大家分享与交流,现在开始我们的python基础知识之旅吧. 数值类型与序列类型 ...
- python基础之序列类型的方法——字符串方法
python基础之序列类型的方法--字符串方法 Hello大家好,我是python学习者小杨同学,经过一段时间的沉淀(其实是偷懒不想更新),我终于想起了自己的博客账号,所以这次带来的是序列方法的后半部 ...
- python基础--数值类型和序列类型
Python中数值类型:int(整数),float(浮点数),True/False(布尔值,首字母必须大写) int:1 #任意整数 float:2.3 #小数 python赋值: a = ...
- python基础之循环结构以及列表
python基础之编译器选择,循环结构,列表 本节内容 python IDE的选择 字符串的格式化输出 数据类型 循环结构 列表 简单购物车的编写 1.python IDE的选择 IDE的全称叫做集成 ...
- python基础篇-day1
python基础篇 python是由C语言写的: pass 占位符: del,python中全局的功能,删除内存中的数据: 变量赋值的方法: user,pass = 'freddy','freddy1 ...
- Python基础学习笔记(六)常用列表操作函数和方法
参考资料: 1. <Python基础教程> 2. http://www.runoob.com/python/python-lists.html 3. http://www.liaoxuef ...
随机推荐
- Java 之 字节流
一.一切皆为字节 一切文件数据(文本.图片.视频等)在存储时,都是以二进制数字的形式保存,都一个一个的字节,那么传输时一样如此.所以,字节流可以传输任意文件数据.在操作流的时候,我们要时刻明确,无论使 ...
- U盘因格式化 NTFS 中断造成无法识别,生产平台同样无法识别的修复处理方案
特征: 电脑设备管理器(win10):识别到大容量存储设备 电脑磁盘管理:识别可移动磁盘无媒体 ChipGenius(v4_19_0319):能识别到制造商,但识别不到芯片具体型号 U盘相关生产平台: ...
- Python:Shapefile矢量转化为GeoJSON格式
在最近的项目中,完成了许多python处理矢量数据的算法程序,比如缓冲区分析.叠置分析.统计分析等,主要用到的是GDAL/OGR库,很多功能都参照了此链接中的示例:http://pcjericks.g ...
- iOS滤镜功能
一.iOS自带滤镜 1.CoreImage 使用苹果自带的CoreImage框架对图片进行处理,用CoreImage框架里的CIFilter对图片进行滤镜处理, 首先我们应该了解下CoreImage框 ...
- windows系统Android-sdk的下载与环境变量配置
最近一段时间在做app的开发,作为前端而言,开发app并不像android工程师那样熟悉android开发:无论是使用cordova.js或者react-native开发都需要配置android开发环 ...
- Android笔记 (二) Android的核心---Activity
什么是Activity Activity是Android应用程序核心组件中最基本的一个,是用户和程序交互的窗口,一个activity通常对应一个单独的视图,一个APP由一个或者多个activity构成 ...
- MySql 8.0服务端安装后,用navicat12连接时报2059错误_解决
先看连接错误 连接失败:2059 - Authentication plugin 'caching_sha2_password' cannot be loaded: .... 解决方法: 进入MySQ ...
- git使用——准备工作
参考:如何在 Git 中重置.恢复,返回到以前的状态 初次运行 Git 前的配置 安装好Git后首先要做的便是配置Git环境.每台计算机上只需要配置一次,程序升级时会保留配置信息. 你可以在任何时候再 ...
- 基于GitLab CI搭建Golang自动构建环境
基于GitLab CI搭建Golang自动构建环境 Golang发布遇到的问题 对于golang的发布,之前一直没有一套规范的发布流程,来看看之前发布流程: 方案一 开发者本地环境需要将环境变量文件改 ...
- centos中python2.7被覆盖,yum,python重新安装
参考如下,问题以解决,绝对有效 下载链接yum和python2.7网盘 链接:https://pan.baidu.com/s/1sC2crFW1I8F7zndJU0jjcA 提取码:5kia 直接参考 ...