序列(列表、元组、字符串)常用函数
is 和 not is (判断元素是否为同一个变量)
in 和 not in (判断元素是否包含在序列中)
del (用于删除一个或多个指定对象)
直接删除变量
>>> x = "FishC"
>>> y = [1,2,3]
>>> del x,y
>>> x
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
x
NameError: name 'x' is not defined
>>> y
Traceback (most recent call last):
File "<pyshell#4>", line 1, in <module>
y
NameError: name 'y' is not defined
del 方法删除列表中的指定元素
>>> x = [1,2,3,4,5]
>>> del x[1:4]
>>> x
[1, 5]
>>> y = [1,2,3,4,5]
>>> y[1:4] = []
>>> y
[1, 5]
切片也能达到连续元素的删除,但不能完成类似下面的不连续元素删除
>>> y = [1,2,3,4,5]
>>> del y[::2]
>>> y
[2, 4]
>>> y = [1,2,3,4,5]
>>> y[::2] = []
Traceback (most recent call last):
File "<pyshell#15>", line 1, in <module>
y[::2] = []
ValueError: attempt to assign sequence of size 0 to extended slice of size 3
使用del方法达到和clear方法相同的效果,删除列表中元素而不是直接删除变量
>>> x = [1,2,3,4,5]
>>> x.clear()
>>> x
[]
>>> y = [1,2,3,4,5]
>>> del y[:]
>>> y
[]
list() & str() & tuple() 序列类型相互转换
min() & max()
xin() xax()
当传入的元素为空时,默认情况下报错;当指定default参数内容时,检测到元素为空时提示default参数内容。
len()
len() 函数有可读的最大长度,超过极限长度后报错
32位平台极限长度为2^32-1
64位平台为2^64-1
sum()
sorted()
sorted()可对任意类型的序列进行排序,.sort()只能对列表进行排序
sorted()排序后生成新的列表,不改变原始序列,.sort()会修改原始列表
key参数使用,指定干涉排序的方法
reverse()
生成反向迭代器
all() & any()
all() 判断可迭代对象中是否所有元素都为真
any() 判断可迭代对象是否存在某元素为真
enumerate()
zip()
当可迭代对象长度不一致时,按最短的可迭代对象长度终止操作
当不想丢掉较长的元素时,使用itertools模块中的.zip_longest()方法,给在该长度没有元素的自动补充None
map()
filter()
只返回符合函数要求,结果为真的部分
迭代器&可迭代对象
1、迭代器肯定是可迭代对象
区别
迭代器只能使用一次
iter()
将序列元素转换为迭代器
next()
逐一提取迭代器中元素,当长度超过迭代器长度,抛出异常
可设置参数修改异常内容