map
map(func,iterable)
是一个功能性函数,用于处理数据。它把 iterable
中的数据一个一个拿出来,扔到 func
做处理,并通过调用迭代器来获取返回值。
参数:
func
: 函数(内置函数或自定义函数)iterable
: 可迭代对象(容器类型数据,range对象,迭代器)
返回值:
- 迭代器
示例
把列表中的元素都变成整型
lst = ["1","2","3","4"]
lst_new = []
for i in lst:
lst_new.append(int(i))
print(lst_new)
使用 map
改写:
it = map(int,lst)
print(isinstance(it,Iterator))
调用迭代器 next
:
print(next(it))
print(next(it))
print(next(it))
print(next(it))
"""
代码解析:
第一次调用迭代器
先把列表中的第一个元素"1"拿出来扔到int中做强转,变成整型1返回出来
第二次调用迭代器
先把列表中的第一个元素"2"拿出来扔到int中做强转,变成整型2返回出来
第三次调用迭代器
先把列表中的第一个元素"3"拿出来扔到int中做强转,变成整型3返回出来
第四次调用迭代器
先把列表中的第一个元素"4"拿出来扔到int中做强转,变成整型4返回出来
"""
调用迭代器 for
:
it = map(int,lst)
for i in it:
print(i)
调用迭代器 for
+ next
:
print("<======>")
it = map(int,lst)
for i in range(3):
print(next(it))
强转迭代器 => 列表:
it = map(int,lst)
print(list(it))
[1,2,3,4] => [2,8,24,64]
lst = [1,2,3,4]
lst_new = []
for i in lst:
lst_new.append(i << i)
print(lst_new)
使用 map
改写:
def func(n):
return n << n
it = map(func,lst)
print(list(it))
字典翻转
#已知 dic = {97:"a",98:"b",99:"c"} 得到 ["a","b","c"]
dic = {97:"a",98:"b",99:"c"}
dic_new = {}
for k,v in dic.items(): #字典翻转处理
dic_new[v] = k
lst = ["a","b","c"]
lst_new = []
for i in lst:
lst_new.append(dic_new[i])
print(lst_new)
使用 map
改写:
lst = ["a","b","c"]
def func(n):
dic = {97: "a", 98: "b", 99: "c"}
dic_new = {}
for k, v in dic.items():
dic_new[v] = k
return dic_new[n]
it = map(func, lst)
print(list(it))
标签:map,迭代,dic,lst,print,new
From: https://www.cnblogs.com/wbcde116/p/18050298