| filter | map | reduse | sorted | |
| 作用 |
接收一个函数和一个序列,
filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 |
map()函数接收两个参数,一个是函数,一个是Iterable,map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator返回。 |
reduce把一个函数作用在一个序列[x1,
x2, x3, ...]上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算 |
1、sorted()函数是对列表里元素(元素既可以是数字也可以是字符串甚至是tuple、list)按照key 进行reverse = True
或者 reverse = False 次序排序。
|
| 特性 |
用
注意到
filter()函数返回的是一个Iterator,也就是一个惰性序列,所以要强迫filter()完成计算结果,需要用list()函数获得所有结果并返回list。 |
map()传入的第一个参数是f,即函数对象本身。由于结果r是一个Iterator,Iterator是惰性序列,因此通过list()函数让它把整个序列都计算出来并返回一个list。 | ||
| 例子 |
1、在一个list中,删掉偶数,只保留奇数,可以这么写:
2、把一个序列中的空字符串删掉,可以这么写: def not_empty(s):
# 结果: ['A', 'B', 'C']
|
1、
def f(x):...
return x * x2、把这个list所有数字转为字符串: >>> list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
['1', '2', '3', '4', '5', '6', '7', '8', '9']
|
1、
考虑到字符串 >>> from functools import reduce
2、比方说对一个序列求和,就可以用 >>> from functools import reduce |
、假设我们用一组tuple表示学生名字和成绩:
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
请用sorted()对上述列表分别按名字排序:
# -*- coding: utf-8 -*-
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
def by_name(t):
解:
def by_score(t):
return s[t].lower()
L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]
L2 = sorted(L, key = by_score,reverse = True)
>>> print(L2)
[('Lisa', 88), ('Bob', 75), ('Bart', 66), ('Adam', 92)]
|
filter 、map 、reduse、sorted 作用、特性及实例
最新推荐文章于 2024-06-27 08:30:00 发布
本文深入探讨Python中的filter(), map(), reduce() 和 sorted() 函数的使用方法及应用场景,通过实例展示了如何利用这些函数高效地处理数据序列。
部署运行你感兴趣的模型镜像
您可能感兴趣的与本文相关的镜像
Python3.10
Conda
Python
Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本
6634

被折叠的 条评论
为什么被折叠?



