一:filter:函数用来过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表
该函数接收两个参数,第一个为函数,第二个为序列。序列的每个元素作为参数传递给函数进行判断,然后返回True 或者 False,最后将返回true的元素放到新列表中
两个参数:第一个参数是函数或者是空,第二个参数是可迭代的对象
注意: Python2.7 返回列表,Python3.x 返回迭代器对象,
def func(n): return n<10 my_list = [2, 6, 95, 23, 4] res = filter(func,my_list) print(res) print(list(res))
<filter object at 0x000002E8641965E0>
[2, 6, 4]
二:map函数:会根据提供的函数对指定序列作映射
第一个参数function,已参数序列中的每一个元素调用function函数,返回包含每次function函数返回值的新列表
土话:将列表当中的每个值拿出来,传到函数当中,将函数的返回值,放到列表当中输出
!!!Python 2.x 返回列表。Python 3.x 返回迭代器
def func(n): return n*2 my_list = [2, 6, 95, 23, 4] res = map(func,my_list) print(res) print(list(res))
<map object at 0x00000222225465E0> ------------------------------返回值是迭代器
[4, 12, 190, 46, 8]
三:zip函数:用于将可迭代的对象作为参数,将对象中对应的元素打包成一个个元组,然后返回由这些元组组成的列表
print(list(zip([1,3,5],[2,4,6])))
[(1, 2), (3, 4), (5, 6)]
如果各个迭代器的元素个数不一致,则返回列表长度与最短的对象相同。用*号操作符,可以将元组解压为列表
print(list(zip([1,2,3],[4,5,6,6,6,6,6,66,6,0],[6,7,8],[8,9,0])))
[(1, 4, 6, 8), (2, 5, 7, 9), (3, 6, 8, 0)]