python内置函数map

what

map是python提供的一个内置函数,用于对一个序列中每个元素,或者对多个序列中对应元素进行操作。

why

函数式编程范式的一种工具,可以代替一些循环操作。同时map操作在小数据100W即1e7的时候操作会比for循环和列表表达式快。
但是当继续增大数据量就会显出劣势,不过在处理小数据时用map还是有一定优势。
具体可以参考这篇博客map为什么比较快

how

map(function, iterable,...)
  • function:可以是python自带的函数,也可以是我们定义的函数或者lambda表达式
  • iterable:可迭代的对象如列表,字典
  • return:返回一个可迭代的map对象

map使用python内置函数

import os
import numpy as np
res = map(int,["1", "2", "3"])
for item in res:
    print(item, type(item))

image.png
image.png
map使用自定义函数

import os
import numpy as np
def d(x):
    return x * x
res = map(d,[1, 2, 3])
for item in res:
    print(item, type(item))

image.png
map使用lambda表达式

import numpy as np
res = map(lambda x: x * x,[1, 2, 3])
for item in res:
    print(item, type(item))

image.png

map处理多个可迭代对象

import numpy as np
res = map(lambda x, y, z: x + y + z,[1, 2, 3], [1, 2, 3], [1, 2, 3])
for item in res:
    print(item, type(item))

image.png
map返回的类型

import numpy as np
res = map(lambda x, y, z: x + y + z,[1, 2, 3], [1, 2, 3], [1, 2, 3])
print(res, type(res))

image.png
可以将map对象转化为list

import numpy as np
res = list(map(lambda x, y, z: x + y + z,[1, 2, 3], [1, 2, 3], [1, 2, 3]))
print(res, type(res))

image.png

posted @ 2024-12-15 00:42  cxy8  阅读(22)  评论(0编辑  收藏  举报