微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python map,zip,filter 函数

 

filter(func, seq)  

 

返回filter对象,其中包含序列seq中使得单参数函数func返回值等价于True的那些元素,如果函数func为None则返回包含seq中等价于True的元素的filter对象,filter对象中的元素只能使用一次

 

filter(function,iterable)

function -- 判断函数

iterable -- 可迭代对象

 

 

def is_odd(n):

    return n%2 == 1

res = filter(is_odd,[1,2,3,4,5,6,7,8,9,10])

 

print(type(res)) # <class 'filter'>

print(list(res)) # [1,3,5,7,9]

 

 

 

zip(seq1 [, seq2 [...]]) 

 

返回zip对象,其中元素为(seq1[i], seq2[i], ...)形式的元组,最终结果中包含的元素个数取决于所有参数序列或可迭代对象中最短的那个,zip对象中的元素只能使用一次

 

my_list = [11,12,13]

my_tuple = (21,22,23)

 

print(type(zip(my_list,my_tuple))) # <class 'zip'>

print(list(zip(my_list,my_tuple))) # [(11, 21), (12, 22), (13, 23)]

 

 

 

map

map(function, iterable)

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

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

返回迭代器。

 

def square(x) :         # 计算平方数

    return x ** 2

 

print(type(map(square, [1,2,3,4,5])))    # 计算列表各个元素的平方 # 返回迭代器 <class 'map'>

print(list(map(square, [1,2,3,4,5])))   # 使用 list() 转换为列表  [1, 4, 9, 16, 25]

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐