序列操作类函数
all()
功能:
判断可迭代对象的每个元素是否都为True值
注意:
If the iterable is empty, return True.(举例3)
回顾:
None '' () {} [] 0 ==>False
其余 ==>True
举例:
print(all([1, 2, ()])) #执行结果:False print(all([1, 2, 3])) #执行结果:True print(all([])) #执行结果:True
any()
功能:
判断可迭代对象的元素是否有为True值的元素
注意:
If the iterable is empty, return False.
举例: print(any([None, 1, 2])) #执行结果:True print(any([0, None, ()])) #执行结果:False print(any([])) #执行结果:False
filter()
具体用法在之间笔记本有详细介绍
功能:
通过相关的方法过滤可迭代对象的元素
注意:
filter()函数接收一个函数 f 和一个list
这个函数 f 的作用是对每个元素进行判断,返回 True或 False
filter()根据判断结果自动过滤掉不符合条件的元素,返回由符合条件元素组成的新list。
(即函数处理结果为 True 的保留,为 False 的过滤
map()
具体用法在之间笔记本有详细介绍
功能:
通过相关的方法去作用传入的每个可迭代对象的元素,生成新的可迭代对象
注意:
有两个参数,第一个是接收一个函数 f(匿名函数或者自定义函数都OK啦);第二个参数是一个 可迭代对象
功能是通过把函数 f 依次作用在 第二个参数 的每个元素上,得到一个新的 list 并返回。(新的 list 元素的个数与位置与旧的 list 一致)
实质就是内部 for 循环,遍历迭代对象的每一个元素
next()
next(iterator[, default])
功能:
Return the next item from the iterator.
If default is given and the iterator is exhausted, it is returned instead of raising StopIteration.
举例: a = iter('123') print(next(a), next(a), next(a)) #执行结果:1 2 3 print(next(a), next(a), next(a), next(a)) # 执行结果:StopIteration(报错) print(next(a, '*'), next(a, '*'), next(a, '*'), next(a, '*')) #执行结果:1 2 3 *
reversed()
功能:
将目标可迭代对象元素进行反转,生成新的可迭代对象
举例: a = [1, 2, 3, 4] print(list(reversed(a))) print(a) #执行结果 [4, 3, 2, 1] [1, 2, 3, 4] #列表 a 本身并没有发生变化,只是 a 转序生成一个新的序列
sorted()
功能:
以升序返回包含iterable中所有项的新列表。
可以提供自定义键功能来自定义排序顺序,以及可以设置反向标志以按降序获得求结果。
默认按照ASCII来进行升序排列
举例: a = ['a','f','D','b','m','A'] print(sorted(a)) print(sorted(a, key = str.upper)) print(list(reversed(sorted(a)))) #实现目标序列降序排列 # #执行结果: ['A', 'D', 'a', 'b', 'f', 'm'] ['a', 'A', 'b', 'D', 'f', 'm'] ['m', 'f', 'b', 'a', 'D', 'A']
zip()
功能:
将传入的每个迭代器中相同位置的元素进行一一匹配,返回一个新的元组类型迭代器
举例: print(list(zip(['a','b','c','d','e'], [1, 2, 3, 4, 5], ['A','B','C','D','E']))) #执行结果 [('a', 1, 'A'), ('b', 2, 'B'), ('c', 3, 'C'), ('d', 4, 'D'), ('e', 5, 'E')] print(list(zip(['a','b','c'], [1, 2, 3, 4], ['A','B','C','D','E'])) #按照元素最少的来进行匹配 #执行结果 [('a', 1, 'A'), ('b', 2, 'B'), ('c', 3, 'C')]