【1.29】map函数

# map 函数 将列表中的数字进行运算

list_a = [1,2,3,45,6,78]
print list_a
# 加法 加一
list_a1 = []
for i in list_a:
    i += 1
    list_a1.append(i)
print "diyi:加法 加一"
print list_a1

#用函数简化

def func(array):
    list_a1 = []
    for i in array:
        i += 1
        list_a1.append(i)
    return list_a1
print "函数 jianhua"
print func(list_a)

#用函数简化for中的方法,便于扩展,如还要进行减 一  ,平方等
def add_one(num):
    num +=1
    return num
def jf_one(num):
    num -=1
    return num
def pf_one(num):
    num **=2
    return num


def func_new(func1,array):
    list_a1 = []
    for i in array:
        list_a1.append(func1(i))
    return list_a1
print "用函数简化for中的方法,便于扩展,如还要进行减 一  ,平方等:  jia fa"
print func_new(add_one,list_a)

print "用函数简化for中的方法,便于扩展,如还要进行减 一  ,平方等:  pf"
print func_new(pf_one,list_a)




#用lambda 函数简化for中的方法,便于扩展,如还要进行减 一  ,平方等
list_a = [1,2,3,45,6,78]
def func_new(func1,array):
    list_a1 = []
    for i in array:
        list_a1.append(func1(i))
    return list_a1
print "用函数简化for中的方法,便于扩展,如还要进行减 一  ,平方等:  jia fa"
print func_new(lambda x:x-1,list_a)

print "用函数简化for中的方法,便于扩展,如还要进行减 一  ,平方等:  pf"
print func_new(lambda x:x**2,list_a)

需要list 把里面的值取出来放到列表  也可以for 循环取出来

但是for循环取出来以后就不能 在用其他方法取了 因为里面的值取后就是空了

这是迭代器 后面会提到

list_a = [1,2,3,45,6,78]
print (list(map(lambda x:x+1,list_a)))
print (list(map(lambda x:x-1,list_a)))


print (list(map(lambda x:x.upper(),"tiananmen"))) ['T', 'I', 'A', 'N', 'A', 'N', 'M', 'E', 'N'] map 的功能 就是完成 将一个可以迭代的变量,也就是可以for循环的变量 进行一个方法处理,得到一个列表或者其他形式的变量 可以用map 函数 直接写 就不用for 循环,在套用方法函数

 

posted @ 2016-03-19 18:12  科学小怪癖  阅读(93)  评论(0)    收藏  举报