1.前言
内置函数,就是Python内部预先定义好的函数,可以直接使用,Python中内置函数有以下这么多个:
2.map()
- 描述:
map()
会根据提供的函数对指定序列做映射。第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。 - 语法:
map(function, iterable, ...)
- 参数:
- function -- 函数
- iterable -- 一个或多个序列
- 返回值:
- Python 2.x 返回列表。
- Python 3.x 返回迭代器。
- 示例:
# 计算列表各个元素的平方
def square(x):
return x ** 2
res = map(square,[1,2,3])
print(list(res)) # 输出[1, 4, 9]
# 也可以写作lambda函数
res1 = map(lambda x : x ** 2,[1,2,3])
print(list(res1)) # 输出[1, 4, 9]
3.filter()
- 描述:
filter()
函数用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。该接收两个参数,第一个为函数,第二个为序列,序列中的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。 - 语法:
filter(function, iterable)
- 参数:
- function -- 函数
- iterable -- 可迭代对象
- 返回值:
- Python 2.x 返回列表。
- Python 3.x 返回迭代器。
- 示例:
# 过滤出列表中的所有奇数
def is_odd(x):
return x % 2 == 1
res = filter(is_odd,[1,2,3,4,5,6,7,8,9,10])
print(list(res)) # 输出[1, 3, 5, 7, 9]
4.reduce()
- 描述:
reduce()
函数会对参数序列中元素进行累积。函数将一个数据集合(列表,元组等)中的所有数据进行下列操作:用传给reduce
中的函数function
(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用function
函数运算,最后得到一个结果。
在 Python3 中,reduce() 函数已经被从全局名字空间里移除了,它现在被放置在 fucntools 模块里,如果想要使用它,则需要通过引入 functools 模块来调用 reduce() 函数:from functools import reduce
- 语法:
reduce(function, iterable[, initializer])
- 参数:
- function -- 函数,有两个参数
- iterable -- 可迭代对象
- initializer -- 可选,初始参数
- 注意:
当使用初始参数时,先把初始参数传给function
作为第一个参数,再从数据集合中取第一个数据作为第二个参数进行运算,然后把得到的结果再与第三个数据用function
函数运算,最后得到一个结果。 返回值:
返回函数计算结果。- 示例:
# 计算列表所有数据之和
from functools import reduce
def add(x, y):
return x + y
res = reduce(add, [1, 2, 3, 4, 5, 6])
print(res) # 输出1+2+3+4+5+6=21
# 在初始参数基础上计算列表所有数据之和
res1 = reduce(add, [1, 2, 3, 4, 5, 6],100)
print(res) # 输出100+1+2+3+4+5+6=121