第二章:序列和元组
序列:
1.索引
A=’hello’
A[0]输出h
A[-1]输出o
...
2.分片
用来访问一定范围内的元素
Tag=[1,2,3,4,5,6,7,8,9,10]
Tag[1:10:2]
输出:[1,3,5,7,9]
Tag[a:b:c]
a为开始位置,b为结束位置,c为每次的步长(间隔),其中a可为负值。
可以为[::]
3.序列相加
A[]+B[]
返回的将是一个连接起来的序列(类型相同)
4.序列乘法
A[]*5
A[元素会出现五次]
[]---->空列表
[None]*10初始化一个10*0的列表
5.成员资格
‘a’in a[] ------->检查a是否在a[]序列中出现过,返回true或者false(a可以是字符串或者元素)
6.长度、最大值、最小值
len(a[]) --->输出a[]元素的总数
max(a[]) --->输出a[]中最大的
min(a[]) --->输出a[]中最小的
7.list函数
根据字符串创建列表
list(‘hello’)
输出[‘h’,’e’,’l’,’l’,’o’]
8.对列表中的元素赋值
x=[1,1,1]
x[1]=2
输出x:[1,2,1]
9.删除元素
x=[1,1,1]
del x[1]
输出x:[1,1]
10.分片赋值
name=[a,b,c,d,e,f,g]
name[5:]=list(‘12’)
输出name:[a,b,c,d,e,1,2]
可以通过替换为[]实现删除操作
11.列表方法
用 列表名.方法名 实现
append在列表的尾部追加新的对象
a=[1,2,3]
a.append(4)
输出a:[1,2,3,4]
count统计某个元素在列表中的个数
a=[1,2,3,[1,1]]
a.count([1,1])
输出:1
extends在序列的末尾追加另一个序列的多个值
a=[1,2,3]
b=[4,5,6]
A.extends(b)
输出a:[1,2,3,4,5,6]
如果用+操作连接,会返回一个全新的序列,用extends连接则会改变a,返回值为null
index 用于从列表中找出某个值第一个匹配的项的索引位置
a=[h,e,l,l,o]
a.index(l)
输出:2
insert 用于将对象插入到列表中
a=[1,2,3]
a.insert(1,’0’)
输出a:[1,0,3]
insert方法也可以用分片赋值来实现
pop方法会默认移除列表中的最后一个元素(可以返回删除的元素值)
a=[1,2,3]
a.pop(1)
输出:2
remove 移除列表中某个值的第一个匹配项(不能返回被删除的元素)
a=[h,e,m,o,m]
a.remove(‘m’)
输出a:[h,e,o,m]
reverse 将列表中的元素反向存放
a=[h,e,l,l,o]
a.reverse
输出a:[o,l,l,e,h]
sort 将原列表排序,返回空值
a=[3,2,5,4,1]
a.sort
输出a:[1,2,3,4,5]
要注意 列表1=列表2 改变了列表1的值,列表2也会改变,指向同一内存
只有列表1=列表2[:]才能正确赋值, cmp(a,b);a>b返回正数,a<b返回负数,a=b返回0
sort()方法中可以添加两种参数:
1. sort(key=len) 按长度排序
2. sort(reverse=True) 是否进行反向排序
元组:
1,2,3
输出:(1,2,3)就是一个元组
空元组:()
一个值的元组(42,)要有逗号
1.简单计算:
3*(40+2)
输出:(42,42,42)
2.tuple 将一个序列转换为元组
tuple([1,2,3])
输出(1,2,3)
3.访问元组
x=(1,2,3)
x[1]
输出:2
<!--EndFragment-->