map(func, seq[, seq, ...]) 对序列中所有元素执行函数,返回可迭代对象
def test(n): return n * n res = map(test, [2, 4, 6]) print(res) print(type(res)) print(list(res))
<map object at 0x000001921D58B1D0>
<class 'map'>
[4, 16, 36]
filter(func, seq) 返回一个列表,其中包含对其执行函数时结果为真的所有元素(过滤序列,返回由复合条件元素组成的新列表)
def is_odd(n):
return n % 2 == 1
newlist = filter(is_odd, [1, 2, 3, 4, 5])
print(list(newlist))
reduce() 和map()类似,但传入的函数必须接受两个参数,reduce对每个元素反复调用函数,返回最终结果值
from functools import reduce
def func(x, y):
return x + y
res = reduce(func, [1, 2, 3, 4, 5])
print(res)
计算过程为:func(1, 2) = 3
func(3, 3) = 6
func(6, 4) = 10
func(10, 5) = 15
sum() 返回seq中所有元素的和
callable() 判断对象是否是可调用的
getattr(object, name, [default]) 获取属性的值,还可提供默认值
hasattr(object, name) 确定对象是否有指定的属性
isinstance(object, class) 确定对象是否是指定类的实例
issubclass(A, B) 确定A是否是B的子类
random.choice(sequence) 从一个非空序列中随机选择一个元素
seattr(object, name, value) 将对象的指定属性设置为指定的值
type(object) 返回对象的类型