高阶函数 - map()

map(func,*iterables)    ==>  map(功能,例如类型的转换,可以迭代的数组或列表)
功能: 对传入的可迭代数据中的每个元素放入到函数中进行处理,返回一个新的迭代器
参数:
    func 函数     自定义函数|内置函数
    iterables: 可迭代的数据
返回值: 迭代器


案例1    把一个字符串数字的列表转为 整型的数字列表
普通的处理方法

varlist = ['1','2','3','4']
newlist = []
for i in varlist:
    newlist.append(int(i))
print(newlist)

varlist = ['1','2','3','4']
res = map(int,varlist)  #  迭代器
print(list(res))
#  案例2 [1,2,3,4]  ==>   [1,4,9,16]

# 普通方法
ar = [1,2,3,4]
re = []
for i in ar:
    aa = i ** 2
    re.append(int(aa))
print(re)

# 使用 map 函数处理这个数据
arr = [1,2,3,4]
def myfunc(m):
    return m ** 2
res = map(myfunc,arr)
print(list(res))

# 优化版
arr = [1,2,3,4]
res = map(lambda x:pow(x,2),arr)
print(list(res))
# 案例3 ['a','b','c','d']  ==>  [65,66,67,68]


abb = ['a','b','c','d']
re = map(ord,abb)
res = map(lambda x:x-32,re)
print(res,list(res))

你可能感兴趣的:(pycharm,python)