序列(sequence):列表和元组
1. 通用操作(也适用于字符串)
1.1 索引
格式:sequence[n](n为正数)
范围:从左向右–>下标从0开始;从右往左–>下标从-1开始
>>> text = 'Hello World!'
>>> text[0]
'H'
>>> text[-1]
'!'
>>> text[15]
IndexError: string index out of range # 异常
1.2 切片
格式:sequence[start : end : step](start,end,step可以省略不写)
范围:选定下标start ~ end-1之间的元素(sequence[start]元素在sequence[end]前序列不为空)
>>> L = ['Michael', 'Sarah', 'Tracy', 'Bob', 'Jack']
>>> L[::-1]
['Jack', 'Bob', 'Tracy', 'Sarah', 'Michael'] # 取内容相反的列表
>>> L[-2:0]
[] # L[-2]元素在L[0]元素后面,结果为空序列
>>> L[0:6:0]
ValueError: slice step cannot be zero # 步长不能为0
1.3 相加
格式:sequence + sequence
范围:不能拼接不同类型的序列
>>> [1, 3] + 'hello'
TypeError: can only concatenate list (not "str") to list
1.4 相乘
格式:sequence * n(n为整数)
范围:n<=0时为空;n应该为正整数
>>> 'python' * 2.0
TypeError: can't multiply sequence by non-int of type 'float'
1.5 成员资格
格式:somevar in sequence
>>> datas = ['zhanfei', 'zhaoyun', 'guanyu', 'liubei']
>>> 'liubei' in datas
True
2. 列表(list)
2.1基本操作
2.1.1 变成列表:list()
>>> list('hello')
['h', 'e', 'l', 'l', 'o']
2.1.2 修改:
>>> x = [1, 2, 3]
>>> x[2] = 6
>>> x
[1, 2, 6]
2.1.3 删除
>>> names = ['bob', 'mike', 'mary', 'herry']
>>> del names[1]
>>> names
['bob', 'mary', 'herry']
2.1.4 给切片赋值
>>> nums = [1,2, 3, 4, 5]
>>> nums[2:] = 7, 8, 9
>>> nums
[1, 2, 7, 8, 9]
>>> nums[2:2] = [3, 4, 5, 6]
>>> nums
[1, 2, 3, 4, 5, 6, 7, 8, 9]
>>> nums[-3:] = []
>>> nums
[1, 2, 3, 4, 5, 6]
2.2主要方法
2.2.1 append
将一个值附加到末尾
2.2.2 clear
清空列表内容
2.2.3 copy
重新开辟空间存储,内容与复制的列表一样
2.2.4 count
计算指定的元素在列表中出现的次数
2.2.5 extend
将多个值附加到末尾
2.2.6 index
在列表中查找指定值第一次出现的索引
2.2.7 insert
将一个值插入列表
2.2.8 pop
从列表中删除一个元素(默认是删除末尾的一个元素)
注:唯一一个既修改列表又返回一个非None值的方式
2.2.9 remove
删除第一个指定值
2.2.10 reverse
按相反顺序排列列表中的元素
注:reversed函数返回一个迭代器
2.2.11 sort
对列表就地排序
注:sorted函数返回一个排好序的新列表对象
3. 元组(tuple)
元组不能修改
其余同列表
4. 内置函数(常用)
查看方式:
|——使用命令dir(__ builtins __)
|——http://www.runoob.com/python3/python3-built-in-functions.html
4.1 长度:len()
4.2 最大值:max()
4.3 最小值:min()