python学习笔记(十六)内置函数zip、map、filter的使用

时间:2023-01-12 14:48:52

1、zip,就是把两个或者多个list,合并到一起,如果想同时循环2个list的时候,就使用zip。示例如下:

l1 = ['a','b','c','e','f','g']
l2 = [,,]
l3=['A','B','C']
L4=['牛','牛','niu']
#zip,就是把俩list,合并到一起,如果想同时循环2个list的时候,
#如果两个list长度不一样,循环次数以长度最小的list为准
for a,b,c,d in zip(l1,l2,l3,L4):
print(a,b,c,d) >>>>a A 牛
b B 牛
c C niu

2.map的使用。它是帮你循环调用函数的 ,比如:挨个把list里的每个元素转换为字符串

def my(num):
return str(num) lis = [,,,,,,,,]
new_lis = []
for i in lis:
new_lis.append(my(i)) #如果不使用map就需要循环调用函数my

下面来看看使用map后,就不需要循环了,map可以直接帮你循环调用函数。

def my(num):
return str(num)
lis = [,,,,,,,,]
res =
list(map(my,lis)) #注意map里面只是传函数名,不用加括号,函数名加括号是指调用函数
print(res)

3.filter,也是帮你循环调用函数的,但是它会过滤返回为真的数据,返回为假是不会保留的。为真的数据是指,为空即真,非零即真。

def even(num):
if num%==:
return True
return False
lis = [,,,,,,,,]
res = filter(even,lis)
print('filter..',list(res)) #filter只保留,返回为真的数据
res2 = map(even,lis)
print('map..',list(res2)) #map是帮你循环调用函数,这个函数返回就保存什么。
#结果是什么,它和map和的结果有什么区别 >>>filter.. [, , ,
]
map.. [False, True, False, True, False, True, False, True, False]