序列 (sequence)是Python最基本的一种数据结构。
序列中的每个元素都有编号,即其位置或索引,其中第一个元素的索引为0,第二个元素的索引为1,依此类推。Python的序列索引支持负数,-1表示序列的最后一个元素,这是Python不同其他很多种语言不同的地方。
Python内置了多种序列,列表、元组、字符串是其中最常用的三种,本文为你描述各种序列的通用操作。
索引从0开始,索引号为0的元素为1,greeting的索引号为0的元素为'H'。
你可能注意到'Hello'和'H'都用单引号包围,这是Python不同于其他语言的另一个地方。Python并没有专门用于表示字符的数据类型,因此一个字符就是一个只包含一个元素的字符串。
Python的序列索引支持负数,-1表示倒数第一个元素。
切片 (slicing)操作用于访问序列特定 范围 内的元素。在一对方括号内使用两个索引,并用冒号隔开:
注意到,返回的序列并未包含愿序列的第6个元素7,就相当于数学集合中的 左闭右开区间 操作。
换言之,你提供两个索引来指定切片的边界,其中第一个索引指定的元素包含在切片内,但第二个索引指定的元素不包含在切片内。
保留冒号,省略第一个索引,表示从序列起始位置开始切片;省略第二个索引,表示切片到序列末尾,包含最后一个元素:
这个操作的效果是:在指定的区间内间隔取元素,语法格式为:
例如:
步长为正数时,它从起点移到终点,而步长为负数时,它从终点移到起点。
可以使用加法运算(+运算符)拼接两个序列:
从错误消息可知,不能拼接列表和字符串,虽然它们都是序列。一般而言,不能拼接不同类型的序列。
将序列与数x 相乘时,将重复这个序列x 次来创建一个新序列:
初始化一个长度为10的空列表:
成员资格检查判定一个元素是否存在于集合中,如存在返回True,否则返回False,实际上是一个布尔表达式。
语法:
例如:
内置函数 len 返回序列包含的元素个数,而 min 和 max 分别返回序列中最小和最大的元素。
Python通用的序列操作有:索引、切片、乘法、成员资格检查、长度、最小值和最大值。
序列是python的基本数据结构,序列中的每个元素被分配一个序号即索引,索引从0开始。序列的两种常用类型:列表和元组。
列表与元组的区别:列表可修改,元组不能修改。
通用序列操作
1、索引:索引0指向第一个元素,索引-1指向最后一个元素。
2、程序:输入年,月(1-12),日(1-31),然后打印出相应的日期的月份名称。
代码详解:months=[]:定义一个months序列。
endings=['st','nd','rd']+17*['th']\
+['st','nd','rd']+7*['th']\
+['st']:定义一个endings序列,用来表示1-31的英文缩写,1st,2nd,3rd,4-20th,21st,22nd,23rd,24-30th,31st。
代码运行输出结果:
3、分片:提取序列中的某个范围内的元素。
分片tag[9:30]:第一个索引号9是包含在分片内的,第二个索引号30则不包含在分片内。
4、如果要去序列中最后一个最后一个元素怎么办?
可以通过置空,最后一个一个索引来获取最后的元素。可以通过置空最前的索引来获取第一个元素。可以两边都置空来获取整个元素。
5、步长:
正数步长:从序列的头部开始向右提取元素,直到最后一个元素。
负数步长:从序列的尾部开始向左提取元素,直到第一个元素。
6、序列运算
序列相加:对序列进行连接操作,列表与字符串是无法连接在一起的。
序列相乘:数字x乘以一个序列会生成新的序列,即原来的序列被重复x次。
None,空列表和初始化:初始化一个长度为10的列表。
代码分析:在屏幕上打印一个由字符组成的盒子,这个盒子在屏幕上居中,而且根据用户输入的句子自动调整大小。
成员资格:in运算符,输入布尔运算符,当条件为真时返回true,为假则返回false。
以上代码在UNIX系统中,可以检查文件可写和可执行权限的脚本。
以上代码可以检查输入的用户名是否存在于用户列表中。
以上代码可以作为过滤垃圾邮件的一部分。
代码分析:查看用户输入的用户名,密码是否存在于数据库中,如果存在则打印'Access granted'
程序运行结果:
内建函数:len:返回序列中包含元素的数量,min:返回序列中最小的元素,max:返回序列中最大的元素。
python中什么是序列,列表,元组,字符串,索引,区别是什么?序列:可通过偏移量来进行切片的对象。列表、元组、字符串都属于序列。
散列:无法通过偏移量来进行切片的对象。比如 *** 、字典
序列包括:列表、元组、字符串
列表:是最常用的数组,可以进行嵌套;
元组:相当于Enum,一旦创建,元组的值是不允许修改的;
字符串:顾名思义就是中英文字符以及标点符号等。
索引:序列中的每个元素被分配一个序号。注意索引默认从0开始。
python中列表,元组,字符串如何互相转换python中有三个内建函数:列表,元组和字符串,他们之间的互相转换使用三个函数,str(),tuple()和list(),具体示例如下所示:>>>s = "xxxxx"
>>>list(s)
['x', 'x', 'x', 'x', 'x']
>>>tuple(s)
('x', 'x', 'x', 'x', 'x')
>>>tuple(list(s))
('x', 'x', 'x', 'x', 'x')
>>>list(tuple(s))
['x', 'x', 'x', 'x', 'x'] 列表和元组转换为字符串则必须依靠join函数
1. str转list
list = list(str)
2. list转str
str= ''.join(list)
3. tuple list相互转换
tuple=tuple(list)
list=list(tuple)
python中字符串方法isnumeric和isdigit的区别是什么isdigit()
True: Unicode数字,byte数字(单字节),全角数字(双字节),罗马数字
False: 汉字数字
Error: 无
isnumeric()
True: Unicode数字,全角数字(双字节),罗马数字,汉字数字
False: 无
Error: byte数字(单字节)