1、相同之处
二者都是序列,具有序列类型的所有特性。包括索引、分片、加、乘以及成员资格等操作
1)、索引
序列所有元素都有编号,从0开始递增,如果一个函数调用返回一个序列那么可以直接对返回结果进行索引操作,字符串也是一个由字符组成的序列。如:
>>> a = "test" >>> a[0] 't'
这就是索引,可以通过下标获取该位置的元素,从而有序的存取数据。
2)、分片
与索引来访问单个元素相似,分片可以访问一定范围内的元素。分片通过冒号隔开两个索引来实现:
>>> b=[0,1,2,3,4,5,6,7] >>> b[3:5] [3, 4] >>> b[:] [0, 1, 2, 3, 4, 5, 6, 7] >>> b[3:] [3, 4, 5, 6, 7] >>> b[:3] [0, 1, 2] >>> b[1:-1] [1, 2, 3, 4, 5, 6]
进行分片是,开始结束点需要进行制定,另外还有一种参数(步长),通常默认为一,可以控制:
>>> a = [1,2,3,4,5,6,7] >>> a[::2] [1, 3, 5, 7]
3)序列相加
通过加运算可以使序列连接。
>>> [1,2,3,4]+[5,6,7,8] [1, 2, 3, 4, 5, 6, 7, 8]
注:需相同类型的序列方可
4)乘法
用数字N乘以一个序列会生成一个新的序列,为原序列被赋值N次
>>> [1]*5 [1, 1, 1, 1, 1]
5)成员资格
可以使用in判断元素是否存在于序列当中返回值为bool类型
>>> 1 in [2,3,4,5] False >>> 1 in [1,2,3] True
2、序列方法
1)list函数
实际是一种类型而非函数,但二者的区别并不重要,可以强制转换其他可以转换为列表的数据为列表(口述不清):
>>> list("hello") ['h', 'e', 'l', 'l', 'o'] >>> list((1,2,3,4)) [1, 2, 3, 4]
2)基本列表操作
列表可以进行元素赋值,即改变列表中的元素的值:
>>> x = [1,2,3] >>> x[1] = 4 >>> x [1, 4, 3]
列表可以删除元素,使用del,pop,remove均可实现,不同的是,del和pop按下标,remove按照确定值:
>>> x
[1, 4, 3]
>>> x.pop()
3
>>> x
[1, 4]
>>> del x[1]
>>> x
[1]
>>> x.remove(1)
>>> x
[]
append
append方法用于在列表末尾追加新的对象:
>>> x = [1,2,3,4] >>> x.append(5) >>> x [1, 2, 3, 4, 5]
count
count函数统计某个元素在列表中出现的额次数:
>>> x = [1,2,3,4,1,1,2,3,4] >>> x.count(1) 3
Extend
extend用于在列表末尾一次性将另一个序列的值追加进去,以扩展原有列表:
>>> x = [1,2,3] >>> y = [4,5,6] >>> x.extend(y) >>> x [1, 2, 3, 4, 5, 6]
Index
index用于从列表中找出某元素第一个匹配项的索引
[1, 2, 3, 4, 5, 6, 1] >>> x.index(1) 0
insert
insert方法用于将对象插入到列表中
>>> x [1, 2, 3, 4] >>> x.insert(2,10) >>> x [1, 2, 10, 3, 4]
sort
sort用于对列表进行排序:
>>> x = [3,2,1,4,5] >>> x.sort() >>> x [1, 2, 3, 4, 5]
3、元组:不可变序列
除却序列中的增删改(好似没其他了)元组与列表操作结构相同。元组一经生成,不可变更。