2025年Python入门学习笔记05

Python入门学习笔记05第五章 Python 序列数据概述 数组 Python 不能直接创建数组 但可以使用内置的序列数据类型 如列表 实现数组的功能 序列数据类型 元组 tuple 定值表 用于存储值固定不表的表 列表 list 用于存储值可变的表 字符串 str 包括若干字符的序列数据 支持序列数据的基本操作

大家好,我是讯享网,很高兴认识大家。

第五章 Python序列数据概述

  • 数组:Python不能直接创建数组,但可以使用内置的序列数据类型(如列表)实现数组的功能
  • 序列数据类型
    元组tuple: 定值表,用于存储值固定不表的表
    列表list :用于存储值可变的表
    字符串str:包括若干字符的序列数据,支持序列数据的基本操作
    字节序列数据bytearray/bytes:包括若干字节的序列

序列数据

  • 序列索引:上下对应
s[0] s[1] s[2] s[3] s[4] s[-5] s[-4] s[-3] s[-2] s[-1] 

讯享网
  • 序列的切片操作
    i为序列开始下标,j为序列结束下标,k为步长。i省略则从0开始,k省略则步长为1
讯享网s[i:j:k] 
  • 序列的连接和重复操作
    连接操作符+可以连接s1,s1为两个序列,重复操作符*可以重复一个序列n次
    支持复合赋值运算: +=和 *=
s1 * s2 s * n n * s 
  • 序列的成员关系操作
讯享网x in s #True则表示存在 x not in s #True则表示不存在 s.count(x) #返回x在s(指定范围[start,end))中出现的次数 s.index(x,i,j) #s.index(value,[start,[stop]]) 返回x在s(指定范围[i,j))中第一次出现的下标 
  • 序列的比较运算操作
    < ,<= ,==, !=, >=, >
  • 序列的排序操作
sorted(iterable, key=None, reverse = False) 
讯享网reverse = False表示反向排序 key是用于计算比较键值的函数(带一个参数),如key = str.lower 
s = 'abAC' sorted(s , key = str.lower) #输出:['a','A','b','C'] 
  • 内置函数
  • 序列的拆分

1.变量的个数和序列长度相等:可以将序列值拆分,赋值给多个变量

变量1、变量2、… 、变量n = 可迭代对象

讯享网a,b = (1, 2) a,b #输出:(1,2) a,b,c=(1,2) #ValueError data = (1001,'张三',(80,78,92)) sid, name, scores = data scores #输出:(80,78,92) sid,name,(chinese,math,english) = data math #输出:  

2.变量的个数和序列长度不相等:若序列长度未知,可以使用*元组变量,将多个值作为元组赋值给元组变量。在一个赋值语句中 *元组变量只允许出现一次

first, *middles, last = range(10) middles #输出:[1,2,3,4,5,6,7,8] first, second, third, *lasts = range(10) lasts #输出:[3,4,5,6,7,8,9] *firsts, last3, last2, last1 = range(10) firsts #输出:[0,1,2,3,4,5,6] first, *middles, last = sorted([70,88,48,95,85,77]) #去掉最高分和最低分 sum(middles)/len(middles) #去掉最高分和最低分后的平均值 
1.元组(任意类型数据的序列,不可变对象)

1.1 使用元组字面量创建元组实例对象

x1,[2,…,xn] 或 (x1,[2,…,xn]) #圆括号可以省略

讯享网t1=1,2,3 ; t2=(); t3=1; t4=(1); t5= 'a','b','c' #输出:(1,2,3)()(1,)1('a','b','c') 

如果元组中只有一个项目,后面的逗号不能省略。因为Python解释器把(x1)解释为x1,例如将(1)解释为整数1,讲(1,)解释为元组
使用tuple对象创建元组实例对象
1.2 使用tuple对象创建元组实例对象

tuple() tuple(iterable) 
2.列表(可以修改的任意类型数据的序列,可变对象)

2.1 使用列表字面量创建列表实例对象

[x1,[2,…,xn]]

讯享网l1=[]; l2=[1]; l3=["a","b","c"] print(l1,l2,l3) #输出:[][1][‘a’,‘b’,'c'] 

2.2 使用list对象创建列表实例对象

list() list(iterable) 
讯享网l1=list(); l2=list("abc"); l3=list(range(3)) print(l1,l2,l3) #输出:[][‘a’,‘b’,'c'][0,1,2] 


讯享网

s[下表] = x del s[下标] s[i:j]=x del s[i:j] s[i:j] = [] #与上式等价 

list对象的方法

s.append(x) #对象x
s.clear() #等价于del s[ : ]
s.copy()
s.extend(t) #序列t
s.insert(i,x) #插眼
s.pop([i]) #返回并删除下标i位置的对象
s.remove(x) #移除第一个x
s.reverse #序列反转
s.sort()

列表解析表达式

讯享网#迭代序列中的所有内容,并计算生成列表 [expr for i1 in 序列1... for iN in 序列N] #按条件迭代,并计算生成列表 [expr for i1 in 序列1... for iN in 序列N if cond_expr] 

例如下面代码的结果

[i2 for i in range(10)] [(i,i2) for i in range(10)] [i2 for i in range(10) if i%2 == 0 ] [(x,y,x*y) for x in range(1,4) for y in range(1,4) if x>=y] 
3.字符串(有序的字符集合,不可变对象)

字符串格式化P91
3.1 %运算符形式
3.2 format内置函数
3.3 字符串的format方法

4.字节序列(bytes和bytearray)

由8位字节数据组成的序列数据类型,即0<=x<256的整数序列
4.1 bytes常量
使用字母b加单引号或双引号括起来的内容是bytes常量。Python解释器自动创建 bytes型对象实例
1)单引号b’ ’
2)双引号b" "
3)三单引号b‘‘‘ ’’’
4)三双引号b"“” “”"

4.2 创建bytes对象

bytes()
bytes(n)
bytes(iterable) #iterable的只能包含0<=x<256的整数
bytes(object)
bytes([source[,encoding[,errors]]])

讯享网bytes() #b'' bytes(2) #b'\x00\x00' bytes((1,2,3)) #b'\x01\x02\x03' bytes('abc','utf-8') #b'abc' 

4.3 创建bytearray对象

bytearray()
bytearray(n)
bytearray(iterable) #iterable的只能包含0<=x<256的整数
bytearray(object)
bytearray([source[,encoding[,errors]]])

4.4 序列操作

b1 = b"abc" b1.replace(b'a',b'f') #输出: b'fbc' b1.replace('b','g') #TypeError:bytes和bytearray的方法不接受字符串参数,只接受bytes和bytearray参数,否则报错 
小讯
上一篇 2025-03-13 23:22
下一篇 2025-04-03 23:34

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/38649.html