Python 序列
1. 序列
序列是一种可迭代的、元素有序、可以重复出现的数据结构。序列可以通过索引访问元素。
序列包括字符串(str)、列表(list)、元组(tuple)、范围(range)和字节序列(bytes)。
序列可进行的操作有索引、分片、加和乘。
1-1 索引
序列中第一个元素的索引是0,其他元素的索引是第一个元素的偏移量。可以有正偏移量,称为正值索引;也可以有负偏移量,称为负值索引。正值索引的最后一个元素索引是"序列长度-1",负值索引最后一个元素索引是"-1"。
序列中的元素是通过索引下标访问的,即"序列[index]"。
使用 len() 函数获取序列的长度,min() 函数返回第一个元素,max() 函数返回最后一个元素。
1-2 分片
[开始索引:结束索引:步长],获取的分片包括开始索引位置元素,但不包括结束索引位置元素。
>>> t = tuple(range(1, 6))
>>> t
(1, 2, 3, 4, 5)
>>> t[:3]
(1, 2, 3)
>>> t[::2]
(1, 3, 5)
1-3 加乘
>>> a = (1, 2, 3)
>>> a * 2
(1, 2, 3, 1, 2, 3)
>>> a += (4, 5)
>>> a
(1, 2, 3, 4, 5)
2. 元组拆包
>>> a = ['hello', 'world', 0, 1]
>>> str1, str2, *n = a
>>> str1, str2, _, _ = a
3. 列表方法
s.append(object) 在列表s结尾添加一个元素
s.extend(seq) 在列表s结尾添加序列seq中的元素
s.insert(index,object) 在下标为index处插入一个元素
s.pop([index]) 移除列表s中下标为index的元素(默认最后一个元素),并且返回该元素的值
s.remove(object) 移除列表s中第一次出现的该元素
del s[index] 移除列表s中下标为index的元素
s.count(object) 统计列表s中该元素的个数
s.index(object) 查找该元素第一次出现在列表s的下标
s.sort() 将列表s中的元素排序
s.reverse() 将列表s中的元素逆序
4. join() 和 split()
join() 用于将序列中的元素以指定的字符拼接返回一个新的字符串。
格式:str.join(sequence) 其中 sequence 中的元素必须是字符串,否则会报错。
>>> s = 'Hello World.'
>>> ' '.join(s)
'H e l l o W o r l d .'
>>> L = ['h','e','llo']
>>> ''.join(L)
'hello'
>>> L2 = ['h','e','llo',1]
>>> ''.join(L2)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sequence item 3: expected str instance, int found
>>> d = {'a':10,'b':20}
>>> ''.join(d)
'ab'
split() 通过指定分隔符对字符串进行切片,如果参数num有指定值,则分割num+1个字符串, 返回一个列表。
格式:str.spilt(''[,num])
>>> s = '400-123-5678'
>>> s.split('-')
['400', '123', '5678']
>>> s.split('-',1)
['400', '123-5678']