python 常用内置函数

filter()函数

过滤器

用于过滤序列,过滤掉不符合条件的元素,返回一个迭代器对象,如果要转换为列表,可以使用 list() 来转换。

该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进行判,然后返回 True 或 False,最后将返回 True 的元素放到新列表中。

# filter第一个参数是函数,第二个参数是序列,根据函数过滤序列中的每一个参数,返回符合条件的参数,形成一个可迭代的序列
# 过滤出列表中的所有奇数

def is_odd(n):
    return n % 2 == 1

a_list=list(filter(is_odd,[1,2,3,4,5,6,7,8,9]))
print(a_list)

b_list=list(filter(lambda x:x % 2==1,[1,2,3,4,5,6,7,8,9]))
print(b_list)

map()函数

根据提供的函数对指定序列做映射。

第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回包含每次 function 函数返回值的新列表。

map() 函数语法:

map(function, iterable, ...)

参数

function -- 函数
iterable -- 一个或多个序列

返回值

Python 3.x 返回迭代器。

# map函数第一个参数是函数,第二个参数是序列(可以是一个序列或多个序列),序列中的每个一参数逐一调用第一个参数,返回一个可迭代的序列
a_list=list(map(lambda x:x*x,[1,2,3,4]))
print(a_list)

b_list=list(map(lambda x,y:x+y,[1,2,3,4],[9,8,7,6]))
print(b_list)

reduce()函数

对参数序列中元素进行累积。

函数将一个数据集合(链表,元组等)中的所有数据进行下列操作:用传给 reduce 中的函数 function(有两个参数)先对集合中的第 1、2 个元素进行操作,得到的结果再与第三个数据用 function 函数运算,最后得到一个结果。

reduce() 函数语法:

reduce(function, iterable[, initializer])

参数

function -- 函数,有两个参数
iterable -- 可迭代对象
initializer -- 可选,初始参数

返回值

返回函数计算结果。

# reduce函数,第一个参数是函数,第二个参数是序列,
# 函数有两个参数,先取出序列中最前面的两个参数进行函数处理,得到的结果做为一个参数,与序列中下一个参数又进行函数处理
# 直到把序列的全部参数处理完,然后返回函数处理的结果
from functools import reduce

a=reduce(lambda x,y:x+y, [1,2,3,4,5])
print(a)

b=reduce(lambda x,y:x*y,[1,2,3,4,5])
print(b)

zip()函数

打包函数

用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表。

如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同,利用 * 号操作符,可以将元组解压为列表。

在 Python 3.x 中为了减少内存,zip() 返回的是一个对象。如需展示列表,需手动 list() 转换。

# zip以最短的可迭代对象,将迭代对象中的参数一个个打包组成元组,然后返回这些元组组成的对象
a = [1,2,3]
b = [4,5,6]
c = [40,50,60,70,80]

a_zap=zip(a,b)
print(list(a_zap))

c_zip=zip(c,b)
print(list(c_zip))

b_zip=zip(a,c)
print(list(b_zip))

a_list,b_list=zip(*zip(a,b))
print(a_list)
print(b_list)
posted @ 2020-10-17 11:00  捷后愚生  阅读(123)  评论(0编辑  收藏  举报