笔记:序列通用操作(1)
来源:互联网 发布:数据备份 编辑:程序博客网 时间:2024/06/06 09:53
序列的通用操作
Python包含6中内建的序列:列表、元组、字符串、Unicode字符串、buffer对象和xrange对象
- 序列的索引及运算
- 索引 在索引中开始元素序号都是从
0
开始
- 索引 在索引中开始元素序号都是从
对列表的索引
>>> a=[1,2,3,4,5]>>> a[1]2
对字符串的索引
>>> m='hello'>>> m[1]'e'
对元组的索引
>>> a=(1,2,3,4)>>> a[1]2
- 运算(加法和乘法)
加法运算:使用加法运算,可以将序列连接起来。
对列表的连接
>>> [1,2,3,4]+[5,6,7][1, 2, 3, 4, 5, 6, 7]
对字符串的连接
>>> 'Hello'+' '+'World''Hello World'
对元组的连接
>>> a=(1,2,3,4)>>> b=(5,6,7,8)>>> a+b(1, 2, 3, 4, 5, 6, 7, 8)
但,如果采用两种不同类型的序列相加,如列表与字符串相加,则不可以。
>>> [1,2,3,4]+'Hello'Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> [1,2,3,4]+'Hello'TypeError: can only concatenate list (not "str") to list
乘法运算:该操作,会产生新的序列。
列表的乘法
>>> b=[1,2]>>> b*5[1, 2, 1, 2, 1, 2, 1, 2, 1, 2]
字符串的乘法
>>> 'Hello'*3'HelloHelloHello'
元组的乘法
>>> a=(1,2,3,4)>>> a*2(1, 2, 3, 4, 1, 2, 3, 4)
如果,要初始化一个空的列表,但是又有元素数量限制怎么办?如初始化一个包含10个元素的列表。
None,是Python的内建值,所表示的含义是,这里没有东西没有任何东西。
可采用如下方法:
>>> sequence=[None]*4>>> sequence[None, None, None, None]
但是,对产生一个新有限大小的元组根本没有任何意义,因为元组的不可更改特性,即使产生了也不能够更改
- 序列的切片方法
下述的切片方法,以列表为例
- 正序切片
>>> num=[1,2,3,4,5,6,7,8,9,10]>>> num[1:5][2, 3, 4, 5]
从上述操作可以看,切片的操作可以看做是数学上的取一子集。而索引号可以看做是子集的上下限。那么上述的操作可以用如下的数学符号表示:
[a,b)
若要取最后一个元素,可以采用如下索引号
b+1
- 倒序切片
>>> num[-4:][7, 8, 9, 10]
倒序切片,是将元素在列表的从右往左索取。此处,采用数学的语言方法表示是
(a,b]
- 采用步长方式切片
>>> number=[1,2,3,4,5,6,7,8,9,10]>>> number[0:10:2][1, 3, 5, 7, 9]
上述采用步进方式进行切片,用数学语言表示,则可表示为
munber[a:b:Step]
在范围 [a,b]之间按照步进的间隔取值。而且显示结果也是顺序显示。
对于步进值为负数,则按照倒叙显示。如下:
>>> number[10:2:-2][10, 8, 6, 4]
对于上述的写法,需要注意的是,如果采用负值步进,那么索引号也应该从高值到低值的顺序写,否则则会产生空的列表。
>>> number[0:10:-2][]
不过如此也不失为产生一个空的列表方法。但是应该很浪费内存吧。运行速度也慢了。
阅读全文
0 0
- 笔记:序列通用操作(1)
- Python笔记(5)----序列通用操作
- Python学习笔记-通用序列操作
- Python通用序列操作
- Python序列通用操作
- 通用序列操作
- 简明python教程学习笔记之九-序列的通用操作(索引和切片)
- Python 序列通用操作介绍
- python序列通用操作符
- Python基础--通用序列操作
- python列表-序列通用操作
- python基础知识-通用序列操作
- Python---1.序列通用操作
- Python 序列的通用操作
- Python序列之通用序列操作
- python通用序列学习笔记
- Python中序列的通用操作
- 列表、元组及通用序列操作
- java常用设计模式(建造者模式)
- 10.more — 分页查看文件内容
- STM32F042 基于CubeMX HAL库CAN的配置
- 11.less — 分页查看文件
- [SOJ1039]Phone Home(深搜,染色问题)
- 笔记:序列通用操作(1)
- cesium中heading、pitch、roll详解
- 12.head — 显示文件开头
- 2017.10.18总结
- tomcat同时支持http和https访问
- Linux下面安装MySQL详细步骤讲解
- C#语言和SQL Server 数据库技术_用表组织数据
- 13.tail — 从文件末尾显示文件
- 数值计算基础