从上节我们知道,列表、字符串、Bytes、元组属于序列。序列有一组方法。
1、序列索引
序列中,每个元素都有属于自己的编号(索引)。从起始元素开始,元素的索引从0依次递增。
不管正索引还是负索引,读取序列的值还是从左到右依次读取
索引的值大于等于0的整数
>>> my_list = ['a', 'b', 'c', 'd', 'e']
>>> my_list[0]
'a'
>>> my_list[1]
'b'
索引的值小于0的整数
>>> my_list = ['a', 'b', 'c', 'd', 'e']
>>> my_list[-1]
'e'
>>> my_list[-2]
'd'
2、序列切片
切片是访问序列中元素的另一种方法,读取一定范围内的元素,生成一个新的序列
-
正索引切片
>>> my_list = ['a', 'b', 'c', 'd', 'e'] >>>> my_list[2:4] >>>> ['c','d']
-
负索引切片
>>> my_list = ['a', 'b', 'c', 'd', 'e'] >>> my_list[-4:-1] ['b', 'c', 'd']
3、序列相加
序列相加是允许两个相同类型的序列相加
>>> my_list = ['a', 'b', 'c', 'd', 'e']
>>> my_list + ['f', 'g'] # 两个列表类型相加
['a', 'b', 'c', 'd', 'e', 'f', 'g']
>>> my_list + 'abc' # 两个变量都是Python序列,但是数据类型不一样,相加报错
Traceback (most recent call last):
File "<pyshell#38>", line 1, in <module>
my_list + 'abc'
TypeError: can only concatenate list (not "str") to list
4、序列相乘
序列相乘是允许序列跟一个整数相乘
>>> my_list*2 # 跟一个整数相乘
['a', 'b', 'c', 'd', 'e', 'a', 'b', 'c', 'd', 'e']
>>> my_list * 2.1 # 和一个浮点数相乘报错
Traceback (most recent call last):
File "<pyshell#40>", line 1, in <module>
my_list * 2.1
TypeError: can't multiply sequence by non-int of type 'float'
5、和序列相关的内置函数
序列内置函数中,使用都有一个共同点,直接往函数传递参数.
>>> my_list = ['a', 'b', 'c', 'd', 'e']
>>> print(len(my_list)) # 求列表的元素数,发现把列表my_list当作参数,传递给len()
5
>>> print(my_list.count('a')) #调用列表的内置函数,列表名.方法名
1
内置函数 | 说明 |
---|---|
len() | 统计序列的元素个数 |
max() | 返回序列的最大值。要求序列中元素的类型相同;支持数字和字符串 |
min() | 返回序列的最小值。要求序列中元素的类型相同; 支持数字和字符串 |
sum() | 返回序列的累计和。要求序列中元素的类型是数值 |
sorted() | 升序 |
sorted(iterable, reverse=False) | 降序 |
reversed() | 返回一个反向序列的迭代器1 |
迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素。 ↩︎