Python中的序列类型,python序列数据有哪些
本文主要介绍Python语言中的数据类型序列。前面我们提到了Python数据类型中内置的数值类型和字符串类型。今天,我将学习Python的序列数据类型。我想知道的是Python中没有数组数据结构。有需要的朋友可以参考一下。
00-1010一、串行数据类型是什么?二。序列数据类型1的基本操作。序列2的一般方法。通过索引3访问数据。相同类型的剪接序列4。判断序列成员5。排序操作6。内置函数all()和any()7。分割序列3。清单1。正在创建列表2。向列表3添加数据。删除列表中的数据3、元组4、字符串5和字节序列前言:。
我们前面提到了Python数据类型中内置的数值类型和字符串类型。今天,我们来学习一下Python的序列数据类型。我们需要知道的是,Python中没有数组的数据结构,也没有提供直接创建数组的功能,但是数组的一些功能可以通过使用内置的序列数据类型来实现。
目录
序列数据类型是Python中的一种基本数据结构,是一组有序的元素。
该集合可以有多个元素,也可以没有元素。
一般来说,它包含元组、列表、字符串和字节数据(bytes和bytearray)。
如果对象是根据其不变性来划分的
列表、字节数组、可变序列为:字符串、元组、字节序列
一、什么是序列数据类型?
二、序列数据类型的基本操作
支持序列类型的内置函数:len(),max(),min(),sum()。当使用sum()函数时
必须是数字序列。如果有非数字序列,将抛出TypeError。对于字符串、字节
报道称,也会导致这个结果。其余的函数用于按字典顺序选择字符。
1.序列的通用方法
序列中的每个类型都是可以迭代的对象。可以直接使用for循环迭代获取每个数据。也可以通过下标index获取指定位置的数据。序列的第一个元素是X[0],序列的最后一个元素是X[len(X)-1]。如果序列的下标越界或者不是整数,就会导致异常。
序列也支持切片操作,不可变序列为:.
st=asfdcac
#打印所有数据
打印(st[:])
#以相反的顺序打印字符串
打印(st[-1:-1])
2.通过索引访问数据
序列可以使用运算符连接两个序列,形成一个新的序列对象。您也可以按星号键重复该顺序。
3.同类型的序列进行拼接
正如本文前面提到的,您可以通过使用循环找到每个元素来迭代序列。除了这个函数之外,Python还直接确定一个成员是否包含在序列中。
如下:
X在s中[如果X在序列s中则为true]X不在s中[如果X不在序列s中则为true]s . count(X)[计算X在序列s中出现的次数]s . index(X)[找出X在s中第一次出现的坐标,如果不能则报错]
odian">
5.序列的排序操作
通过内置函数sorted()
可以对序列进行排序,并将排序后的结果进行返回。
def sorted(*args, **kwargs):
这里可以传参一个可迭代的序列,reverse
可以指定升序还是降序当reverse
为True时排序结果为降序。key参数是用于计算比较键值的函数
6.内置函数all()与any()
- 这两个函数的作用就是判断所有的数据是否全为True
- 对于all()而言所有的成员均为True时结果才为True
- 对于any()而言只要有成员为True时结果就为True
7.序列的拆分
①有限个数变量进行序列的拆分
在本方法下要确定序列的成员个数与接受变量个数保持一致。
变量1,变量2,变量3=序列
②不确定个数成员变量进行拆分
本方法使用与接受序列中特定位置的成员,使用*进行不确定个数成员变量的接受。
每次拆分*控制的变量只允许出现一次。
例如:
mystr="nfklsdnfj0sd.....asdfl"s1,*args,s2=mystr
此时s1,s2会分别接收n与l其余的将会让args进行接受。
三、列表
列表的介绍:前面提到了列表是一个可变的序列,意思就是可以直接对列表对象本身进行修改删除等操作
列表还是Python中一组有序的数据结构,在Python中没有数组,可以使用列表起数组的作用(✪ω✪)
1.创建列表
有三种方法:
- 1.字面量直接创建
- 2.使用list()与可迭代对象创建
- 3.列表解析表达式
代码如下:
# 直接声明lis0=list(i for i in range(0,101,10))
print(lis0)
lis1=[1,2,3,4]
# 迭代器进行声明
lis2=[ i for i in range(0,101,10)]
print(lis1,lis2)
#字面量
lis3=[Hello,123,print,bool]
print(lis3)
2.向列表内添加数据
代码如下:
# 直接在列表末尾添加lis1.append(2)
print(lis1)
# 切片法添加元素(直接追加另外一个列表的一部分元素)内存地址不变
print(id(lis1))
lis1.extend(lis2)
lis1.extend(lis2[1:5])
print(lis1,id(lis1))
# 在指定的位置插入指定的元素999
lis1.insert(1,999)
print(11111111111,lis1)
3.删除列表内的数据
代码如下:
# 什么也不填,默认删除的是列表的最后一个元素lis1.pop()
print(lis1)
# 将列表内的指定下标元素进行删除
lis1.pop(1)
print(lis1)
# 删除指定的元素
lis1.remove(80)
print(lis1)
# 切片法删除元素
# 切片法删除元素后,列表的地址会发生改变*****
print(id(lis1),id(lis1[1:4]),lis1[1:4])
lis1[1:4]
# 清空列表
lis1.clear()
print(lis1)
# 删除列表(再使用该列表的时候会报错)
del lis1
# print(lis1)
列表内元素的修改
print(lis2)
# 对指定索引的元素进行修改
lis2[0]=100
print(lis2)
# 切片法修改一段列表
# 会将新指定的列表,替换掉指定索引区间的元素,区间超出的话,会直接在末尾添加
# 切片内的元素个数,与所要改成的切片元素个数,不一致没关系直接进行替换
lis2[10:]=[1,2,3]
print(lis2)
# del也可以对指定位置元素进行删除
del lis[1]
del lis[2:4]
# 也可以直接对列表的某段进行赋空[]达到删除的效果
lis2[2:4]=[]
三、元组
元组是不可变序列,所以不支持增删,这里仅仅对他的特性以及注意点进行介绍。
元组也是一组有序序列,包含零个或多个对象的引用,与列表十分相似但又有许多不同.
具体来说有以下特点:
元组是不可变序列仅支持读取
- 1、不支持添加元素【增】
- 2、不支持删除元素【删】
- 3、不支持修改元素(修改操作的步骤是:先删除、再添加)【改】
- 4、支持2种查找元素【查】
- a、根据下标查找元素,常称为【访问】元素,时间复杂度为O(1)
- b、根据元素获取下标,常称为【查找】元素,时间复杂度为O(n)
如果元组中只有一个数据,那么数据后的逗号不可省略元组的括号可以省略。
元祖的声明与遍历如下:
# 元组的声明一s=(Tom,666,嗨)
print(s,type(s))
# 元组的声明二
p=tuple((Tom,666,嗨))
print(p)
# 空元组
ss=()
print(ss,type(ss))
# 单元素元组--要加,否则会会直接转换成字符串类型
sss=(fuck)
print(sss,type(sss))
# 元组的括号可以省略
sss=fuck,
print(sss,type(sss))
tp=(nabd,[123,123],李四)
print(tp)
# 元组对应位置的元素不会变,但元组对应位置元素里面的内容可以改变
tp[1].insert(1,666)
print(tp)
# 元组的遍历
for temp in s:
print(temp)
四、字符串
在前面一篇博客已经提到过字符串了,这里就不再啰嗦一遍了。
五、字节序列
字节序列可以分为可变字节序列(bytearray)与不可变字节序列(bytes)。
使用字面量生成字节数列只需要在字符串前加上b即可。
eg:str1=b"Hello world"
也可以使用bytes()
或者bytearray()
进行字节序列的声明
其中参数可以传递可迭代对象,只不过可迭代对象的成员要是在0-255的整数。bytes
或者bytearray
的方法不接受字符串参数,只接受对应类型的参数。否则报错
字节序列支持序列的基本操作。
可以通过字符串编码得到字节序列,也可以通过解码字符序列得到字符串
使用的函数是decode()
与encode()
。使用过程要注意编码、解码规则。
总结:
本篇博客针对Python序列进行了讲解。序列在学习使用Python中还是经常使用的,希望大家好好掌握,
到此这篇关于Python语言中的数据类型-序列的文章就介绍到这了,更多相关Python语言中的序列内容请搜索盛行IT软件开发工作室以前的文章或继续浏览下面的相关文章希望大家以后多多支持盛行IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。