#!/usr/bin/env python
# -*- coding:utf-8 -*-
## map 函数
# 多个函数实现列表内元素的处理
# def add_one(elem):
# ## 元素自增一操作
# return elem+1
#
# def map_test(lb):
# re = []
# for i in lb:
# re.append(add_one(i))
# return re
# args = [ 1, 2, 3, 4]
# v = map_test(args)
# print(v)
# map函数的用法
# lb = [1, 2, 3, 5]
# lambda elem : elem+1 #匿名函数
# v = map( lambda elem : elem + 1,lb) #获得一个新列表的地址
# print(v)
# print(list(v))
# lb = [1, 2, 3, 5]
# res = lambda elem : elem+1 #匿名函数,获得的是函数的地址
# v = map( res,lb) #获得一个新列表的地址
# print(res)
# print(v)
# print(list(v))
# # 这样也行
# lb = [1, 2, 3, 5]
# def add_one(elem):
# ## 元素自增一操作
# return elem+1
# v = map( add_one ,lb) #获得一个新列表的地址
# print(v)
# print(list(v))
## reduce 函数,对列表内的全部元素进行整合操作,比如相加\相乘
# 多个函数实现reduce功能
# def add(x, y):
# ##元素相加操作
# return x + y
#
# def reduce_test(fun, lb):
# res = lb.pop()
# for num in lb:
# res = fun(res, num)
# return res
# lb = [ 1, 2, 3 ]
# v= reduce_test(add, lb)
# print(v)
##reduce 函数的用法
# from functools import reduce # 需要导入reduce函数
# lb = [ 1, 2, 3 ]
# res = reduce(lambda x, y : x + y, lb )
# print(res)
### filter函数进行筛选列表中的元素,判断为真则留下
# lb = [ 'with', 'wealth', 'world', 'earth', 'encourge']
# a = filter(lambda elem : elem.startswith('w') , lb)
# print(list(a))
# zip 形同拉链,一一对应
# v = zip('asfd' , '1234')
# print( v ) #输出地址
# print(list(v))