常用高阶函数
-
sorted()
- sorted()函数对所有可迭代对象进行排序操作
- 可迭代对象包括字符串、列表、元组、字典、集合
- sorted和sort方法区别
- sorted()语法
- sorted(iterable, cmp=None,key=None, reverse=False)
- iterable -- 可迭代对象
- cmp
- key
- reverse -- 排序规则。reverse=True降序,reverse=False升序(默认)
- sorted(iterable, cmp=None,key=None, reverse=False)
- 示例
-
list = [6,5,4,3,2,1] print(sorted(list)) # 输出[1, 2, 3, 4, 5, 6]
-
- sorted()函数对所有可迭代对象进行排序操作
-
filter()
- filter()函数用于过滤序列。接收两个参数,第一个为函数,第二个为序列。序列中的每个元素作为参数传递给函数进行判断。然后返回True或false。最后将返回True的元素放到新列表中。
- 语法:filter(function, iterable)
- function -- 判断对象
- iterable -- 可迭代对象
- 示例
-
list = [6, 5, 4, 3, 2, 1] def func(x: int) -> bool: return x > 5 f = filter(func, list) print(tuple(f)) # 输出(6,) # func 也可以用lambda函数 f_= filter(lambda x:x>5 ,list) print(tuple(f_))
-
-
reduce()
- reduce()函数会对参数序列中元素进行累积。用传给reduce中的函数function(有两个参数)先对集合中的第1,2个元素进行操作,得到的结果再与第三个数据用function函数运算。最后得到一个结果
- 语法:reduce(function,iterable,initializer)
- 示例
-
def add(x,y): return x+y sum1 = reduce(add,[1,2,3,4,5]) sum2 = reduce(lambda x,y:x+y,[1,2,3,4,5]) print(sum1) # 15 print(sum2) # 15
-
-
map()