内置序列数据:tuple,list,str,bytes,bytearray
x=(1,2,3)# 元组,数据不可变
x=[1,2,3]# 列表
x="123"# 字符串
x="x22"
x.encode("utf-8")
序列数据基本操作
len():序列长度
min()/max():序列最大/最小值
sum():序列中元素之和(字符串不可以用sum)
all():如果全体数值为True则为True
any():如果存在数值为True则为True
序列切片
[start: end :step]:表示**[start,end)区间的子序列,step默认为1,step为-1时表示倒序**
当end为空时默认为末尾,表示从start开始向后取
当start为空时默认为开头,表示从end开始向前取
当start/end为负数时,表示倒着取下标。
s='abcdef'
s[1:3]# 从下标为1开始,到3为止(不包括3),即'bc'
s[3:10]# 同上,为'def'
s[8:2]# 同上,为''
s[:]# 全选,即'abcdef'
s[:2]# 从下标2开始倒着取(不包括2),即'ab'
s[::2]# 全体中两个两个取,即'ace'
s[::-1]# 全体倒着取,即'fedcba'
序列连接&序列重复
用"+“号和”*"号。
s1='abc'
s2='xyz'
s1+s2 # 'abcxyz'
s1*3 #'abcabcabc'
s2*=2 #'xyzxyz'
序列成员操作
s='good'
'o' in s# 是否在序列中出现,为True
s.count('o')# 统计出现次数,为2
s.index('d')# 字符在序列中第一次出现的下标,为3
序列比较
逐个字符比较,其次短的比长的小。
序列排序
sorted(s1,reverse=True,key=str.lower)# 是否翻转序列,是否降序排序
序列拆分
first,*middle,last=range(10)
# 第一个和最后一个是变量,中间的是元组变量,值为[1,2,3,4,5,6,7,8]
元组基本操作
tuple(iterable)
列表基本操作
list(iterable)
s[i]=xxx# 设置下标的元素
del s[i]/s[i:j]# 删除第i/[i:j]个,后面的向前覆盖
[表达式 for i in range(10)]# 创建10个元素构造的数组(常用于构建一维数组)
[i**2 for i in range(5)]# [0,1,4,9,16]