- 数组: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']
- 内置函数
any(iterable) #序列中所有值都为True,返回True
all(iterable) #序列中任意值都为True,返回True
- 序列的拆分
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]
2.3 列表的序列 *** 作
设置,删除,切片…
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]
例如下面代码的结果
[i**2 for i in range(10)]
[(i,i**2) for i in range(10)]
[i**2 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方法
由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参数,否则报错
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)