python序列怎样理解,方法及特点有哪些?

Admin 2022-01-11 群英技术资讯 492 次浏览

    这篇文章我们来了解python序列的相关内容,下文将给大家介绍python序列的入门知识,包括序列的概念,序列的类型,序列的方法及特性等等,对新手学习和理解python序列有帮助,大家可以了解看看吗,接下来就跟随小编一起学习一下吧!

    序列是什么?

    序列(sequence)指的是一块可存放多个元素的内存空间,这些元素按照一定的顺序排列。每个元素都有自己的位置(索引),可以通过这些位置(索引)来找到指定的元素。如果将序列想象成一个酒店,那么酒店里的每个房间就相当于序列中的每个元素,房间的编号就相当于元素的索引,可以通过编号(索引)找到指定的房间(元素)。

    有哪些序列类型呢?

    了解完了序列的基本概念,那么在Python中一共有哪些序列类型呢?如下图所示:

    从图中可以看出在Python中共有7种序列类型,分别是文本序列类型(str);二进制序列类型 bytes和bytearray;列表(list);元组(tuple);集合类型(set和frozenset);范围类型(range)以及字典类型(dict)。

    1. 按照能存储的元素划分

    按照能存储的元素可以将序列类型划分为两大类:分别是:容器序列和扁平序列
    容器序列:即可容纳不同数据类型的元素的序列;有 list;tuple;set;dict
    举个栗子:

list=['runoob',786,2.23,'john',70.2]

    这里的list保存的元素有多种数据类型,既有字符串,也有小数和整数。
扁平序列:即只能容纳相同数据类型的元素的序列;有bytes;str;bytearray,以str为例,同一个str只能都存储字符。

    2. 按照是否可变划分

    按照序列是否可变,又可分为可变序列和不可变序列。
    这里的可变的意思是:序列创建成功之后,还能不能进行修改操作,比如插入,修改等等,如果可以的话则是可变的序列,如果不可以的话则是不可变序列。
    可变序列有列表( list);字典(dict)等,
    不可变的序列有元祖(tuple),后面的文章会详细的对这些数据类型做详细介绍。

    序列都有哪些方法以及特性呢?

    序列的索引

    在介绍序列概念的时候,说到了序列中元素的索引,那么什么是序列的索引呢?其实就是位置的下标。 如果对C语言中的数组有所了解的话,我们知道数组的索引下标都是从0开始依次递增的正数,即第一个元素的索引下标是0,第n个元素的索引下标是n-1。序列的索引也是同理,默认情况下都是从左向右记录索引,索引值从0开始递增,即第一个元素的元素的索引值是0,第n个元素的索引值是n-1。如下图所示:

    当然与C语言中数组不同的是,Python还支持索引值是负数,该类的索引是从右向左计数。换句话说,就是从最后一个元素开始计数,从索引值-1开始递减,即第n个元素的索引值是-1,第1个元素的索引值是-n,如下图所示:

    序列切片

    切片操作是访问序列元素的另一种方式,它可以访问一定范围内的元素,通过切片操作,可以生成一个新的序列。切片操作的语法格式是:

sname[start : end : step]

    各个参数的含义分别是:

  1. sname: 表示序列的名称
  2. start:表示切片的开始索引位置(包括该位置),此参数也可以不指定,不指定的情况下会默认为0,也就是从序列的开头开始切片。
  3. end:表示切片的结束索引位置(不包括该位置),如果不指定,则默认为序列的长度。
  4. step: 表示步长,即在切片过程中,隔几个存储位置(包括当前位置)取一次元素,也就是说,如果step的值大于1,比如step为3时,则在切片取元素时,会隔2个位置去取下一个元素。

    还是举个栗子说明下吧:

str1='好好学习,天天向上'
# 取出索引下标为7的值
print(str1[7])
# 从下标0开始取值,一直取到下标为7(不包括)的索引值
print(str1[0:7])
# 从下标1开始取值,一直取到下标为4(不包括)的索引值,因为step等于2,所以会隔1个元素取值
print(str1[1:4:2])
# 取出最后一个元素
print(str1[-1])
# 从下标-9开始取值,一直取到下标为-2(不包括)的索引值
print(str1[-9:-2])

    运行的结果是:

向
好好学习,天天
好习
上
好好学习,天天

    序列相加

    Python支持类型相同的两个序列使用"+"运算符做想加操作,它会将两个序列进行连接,但是不会去除重复的元素,即只做一个简单的拼接。

str='他叫小明'
str1='他很聪明'
print(str+str1)

    运行结果是:他叫小明他很聪明

    序列相乘

    Python支持使用数字n乘以一个序列,其会生成一个新的序列,新序列的内容是原序列被重复了n次的结果。

str2='你好呀'
print(str2*3)

    运行结果是:你好呀你好呀你好呀 ,原序列的内容重复了3次。

    检查元素是否包含在序列中

    Python中可以使用in关键字检查某个元素是否为序列中的成员,其语法格式为:

value in sequence

    其中,value表示要检查的元素,sequence表示指定的序列。
    举个栗子:查找字是否在字符串str1中。

str1='好好学习,天天向上'
print('天' in str1)

    运行结果是:True

    序列相关的内置函数

函数 功能 适用场景
len() 计算序列的长度,即返回序列中包含了多少个元素 适用于列表,元组、字典、集合、字符串等
max() 找出序列中的最大元素,针对序列中元素是数字的情况 。 适用于列表,元组、字典、集合、range等
min() 找出序列中的最小元素,针对序列中元素是数字的情况 适用于列表,元组、字典、集合、range等
list() 将序列转换为列表 适用于字符串
str() 将序列转换为字符串 适用于列表,元组,数字
sum() 对序列中的元素求和,注意,对序列使用sum()函数时,做加和操作的必须全部是数字,不能是字符或者字符串,因为解释器无法判定事要做连接操作,还是做加和操作 适用于列表,元组、集合、range等
sorted() 对元素进行排序 适用于列表,元组、字典、集合、range,字符串等
reversed() 反向序列中的元素 适用于列表,元组、字典、集合、range,字符串等
enumerate() 枚举列表元素,返回枚举对象,其中每个元素包含下标和值的元组。该函数对元组/字符串同样有效。 适用于列表,元组、字典、集合、range,字符串等

    依然是举例说明:

str3='码农飞哥'
print('字符串的长度=',len(str3))
print('转成列表=',list(str3))
print('调用enumerate函数',enumerate(str3))
print('遍历enumerate函数的结果:')
for item in enumerate(str3):
    print(item)

print('遍历reversed函数的结果:')
for item in reversed(str3):
    print(item)

list2=['码农','飞哥']
print('列表转字符串=',str(list2))
list1=[12,20,5,8,1]
print('最大值=',max(list1))
print('最小值=',min(list1))
print('求和结果=',sum(list1))
print('排序结果=',sorted(list1))

    运行结果是:

字符串的长度= 4
转成列表= ['码', '农', '飞', '哥']
调用enumerate函数 <enumerate object at 0x7f90818cd540>
遍历enumerate函数的结果:
(0, '码')
(1, '农')
(2, '飞')
(3, '哥')
遍历reversed函数的结果:
哥
飞
农
码
列表转字符串= ['码农', '飞哥']
最大值= 20
最小值= 1
求和结果= 46
排序结果= [1, 5, 8, 12, 20]

    现在大家对于python序列的概念,类型,使用等等应该都清楚了吧,上述示例有一定的借鉴价值,有需要的朋友可以参考学习,希望对大家学习python序列有帮助,想要了解更多大家可以关注群英网络其它相关文章。

文本转载自脚本之家

群英智防CDN,智能加速解决方案
标签: python 序列

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服