Python【zip-map-filter】三个内置函数

print("============内置函数:zip===========")
l2 = ['a','b','c','e','f','g']
l3 = [1,2,3]
L4=['A','B','C']
L5=['牛气冲天','牛头马尾','niu']

#zip:把多个list合并到一起,可以同时循环多个list,循环的次数由元素个数最少的那个list决定
#zip内置函数的参数类型要求是迭代类型的变量
data = zip(l2,l3,L4,L5)
data = list(data)
print(data) #结果输出:[('a', 1, 'A', '牛气冲天'), ('b', 2, 'B', '牛头马尾'), ('c', 3, 'C', 'niu')]
for a,b,c,d in data:
print(".....",a,b,c,d)

print("==============内置函数:map===========")
def hand_num(num):
return str(num)


#map:循环调用函数,函数返回值是什么,就保存什么
#map:参数类型为一个函数名+多个可迭代类型的变量
#如下代码,分别使用filter和map两个函数调用我们自己定义的一个函数
list6 = [1,2,3,4,5,6,7,8,9]
result = list(map(hand_num,list6))
print(type(result),'========>',result) #结果输出:['1', '2', '3', '4', '5', '6', '7', '8', '9']
result = list(filter(hand_num,list6))
print(type(result),'========>',result) #结果输出:[1, 2, 3, 4, 5, 6, 7, 8, 9]

print("===========内置函数:filter===========")
#filter:循环调用函数,并且根据函数的返回值来对元素进行过滤
#filter:参数类型为一个函数名+可迭代类型的变量
#如下代码,分别使用filter和map两个函数调用我们自己定义的一个函数
def even(num):
if num%2==0:
return True
return False

list7 = [1,2,3,4,5,6,7,8,9]
res = filter(even,list7)
print('filter.....',list(res)) #结果输出:[2, 4, 6, 8]
res = map(even,list7)
print('map.....',list(res)) #结果输出:[False, True, False, True, False, True, False, True, False]











posted @ 2018-05-19 20:33  一分耕耘,一分收获  阅读(156)  评论(0编辑  收藏  举报