map()函数

Python 的map()方法,作为输入提供的迭代器的所有元素应用函数。 例如,迭代器可以是列表,元组,集合,字典,字符串,并且它返回可迭代的映射对象。 另外,map()是python的内置函数。


在本教程中,我们将学习:

  • map()的语法
  • map()函数如何实现?
  • 将map()与Python内置函数一起使用
  • 使用map()和字符串作为迭代器
  • 将map()与数字列表一起使用
  • 在元组中使用map()
  • 在字典中使用map()
  • 与集合一起使用map()
  • 将map()与Lambda函数一起使用
  • 在map()函数内部使用多个迭代器

语法如下:

map(function, iterator1,iterator2 ...iteratorN)

两个重要的参数:

  • function:要提供给map()的必须参数,它将应用于迭代器中所有可用的项目。
  • iterator:一个可迭代的必须对象。 它可以是列表,元组等。我们还可以将多个迭代器对象传递给map()函数。

返回值

map()函数将给定函数应用于迭代器内的所有项目,并返回可迭代的映射对象,比如元组,列表等。



map()函数如何实现?

map()函数将两个输入作为函数和一个可迭代对象。 给map()的函数是普通函数,它将对给定可迭代对象中存在的所有值进行迭代。

假设有一个数字列表,并且想要得到每个数字的平方。

获取输出后,我们需要返回给定数字平方的函数。 函数实现如下:

def square(n):return n*n

我们想得到以下数字的平方;

my_list = [2,3,4,5,6,7,8,9]

现在,让我们使用map()函数来获取my_list中每个元素的平方。

实现代码如下:

def square(n):    return n*nmy_list = [2,3,4,5,6,7,8,9]updated_list = map(square, my_list)print(updated_list)print(list(updated_list))

输出:

[4, 9, 16, 25, 36, 49, 64, 81]

输出结果我们可以看到,map()函数的输出为的map()对象。

然后我们使用for循环或使用list()方法对输出进行迭代,以获取最终结果。

因此,使用map()函数,我们可以获得每个数字的平方。给map的列表是[2,3,4,5,6,7,8,9],然后使用square()函数输出 从map()得到的是[4,9,16,25,36,49,64,81]。

map()将函数square()应用于列表中的所有元素。 例如,my_list变量并使用每个数字的平方更新列表。 输出存储在updated_list变量中。


将map()与Python内置函数一起使用

map()函数是一个内置函数,可以与Python中其他内置函数一起使用。 在以下示例中,我们使用round()内置函数给值进行四舍五入.



示例如下:

创建的列表是my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]。

我们需要得到列表中每个元素四舍五入的值。 我们使用round()函数。

my_list = [2.6743,3.63526,4.2325,5.9687967,6.3265,7.6988,8.232,9.6907]updated_list = map(round, my_list)print(updated_list)print(list(updated_list))

输出:

[3, 4, 4, 6, 6, 8, 8, 10]

round()函数应用于列表中的所有元素,它返回一个列表,其中所有值按照四舍五入的值输出。


使用map()和字符串作为迭代器

我们还可以在map()中传入字符串参数。 在Python中,字符串的作用类似于数组,因此我们可以在map()中使用它。

在示例中,我们有一个函数myMapFunc(),负责将给定的字符串转换为大写。 将函数myMapFunc()提供给map()函数。map函数将通过将字符串传递给myMapFunc()来转换给定的大写字符串。

def myMapFunc(s):    return s.upper()my_str = "welcome to guru99 tutorials!"updated_list = map(myMapFunc, my_str)print(updated_list)for i in updated_list:    print(i, end="")

输出:

WELCOME TO GURU99 TUTORIALS!

将map()与数字列表一起使用

要使用map()中的列表,将获取一个数字列表,并将列表中的每个数字乘以10。

我们将要使用的列表是:[2,3,4,5,6,7,8,9]。 函数myMapFunc()负责将给定数字乘以10。该函数与列表一起用于映射。


示例如下

def myMapFunc(n):    return n*10my_list = [2,3,4,5,6,7,8,9]updated_list = map(myMapFunc, my_list)print(updated_list)print(list(updated_list))

输出:

[20, 30, 40, 50, 60, 70, 80, 90]

在元组中使用map()

元组是Python中的一个对象,以逗号分隔值并括在圆括号中的元素。 在以下示例中,我们将使用带有字符串值的元组。 我们将使用函数将传入的字符串转换为大写字母。

示例如下:

def myMapFunc(n):    return n.upper()my_tuple = ('php','java','python','c++','c')updated_list = map(myMapFunc, my_tuple)print(updated_list)print(list(updated_list))

输出:

['PHP', 'JAVA', 'PYTHON', 'C++', 'C']

在字典中使用map()

使用大括号{}创建字典。 由于字典是迭代器,因此我们可以在map()函数中使用它。 现在让我们使用字典作为map()函数中的迭代器。

以下示例显示map()中字典迭代器的工作方式

def myMapFunc(n):    return n*10my_dict = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_dict)print(finalitems)print(list(finalitems))

输出:

[20, 30, 40, 50, 60, 70, 80, 90]

与集合set一起使用map()

在Python中,集合set()中的元素是无序的。 而且,set()也是一个迭代器,因此我们也可以在map()函数中使用它。

以下是在map()中使用set()作为迭代器的工作示例:

def myMapFunc(n):    return n*10my_set = {2,3,4,5,6,7,8,9}finalitems = map(myMapFunc, my_set)print(finalitems)print(list(finalitems))

输出:

[20, 30, 40, 50, 60, 70, 80, 90]

将map()与Lambda函数一起使用

在Python中,lambda表达式用于构造匿名函数。 必须使用lambda关键字,就像使用def定义函数方法一样。

因此,在以下示例中,我们将在map()中使用lambda函数。 lambda函数会将列表中的每个值乘以10。

示例如下:

my_list = [2,3,4,5,6,7,8,9]updated_list = map(lambda x: x * 10, my_list)print(updated_list)print(list(updated_list))

输出:

[20, 30, 40, 50, 60, 70, 80, 90]


在map()函数内部使用多个迭代器

示例1:将两个列表迭代器传递给map()

我们可以将多个迭代器(即列表,元组等)同时传入到map()函数中。

例如,如果要添加两个列表。 使用map()函数可以完成相同的操作。 我们使用两个列表my_list1和my_list2。

在下面的示例中,将my_list1中的第一项添加到my_list2的第一项中。 函数myMapFunc()接受my_list1和my_list2的值并返回两者之和。

以下是使用map()函数添加两个给定列表的例子:

def myMapFunc(list1, list2):    return list1+list2my_list1 = [2,3,4,5,6,7,8,9]my_list2 = [4,8,12,16,20,24,28]updated_list = map(myMapFunc, my_list1,my_list2)print(updated_list)print(list(updated_list))

输出:

[6, 11, 16, 21, 26, 31, 36]

示例2:将一个元组和一个列表迭代器传递给map()

我们将在map()函数中使用列表和元组迭代器。 该函数是给map的-myMapFunc()将从列表和元组中获取元素值。 这些元素将带有下划线(_)。 工作示例如下所示:

def myMapFunc(list1, tuple1):    return list1+"_"+tuple1my_list = ['a','b', 'b', 'd', 'e']my_tuple = ('PHP','Java','Python','C++','C')updated_list = map(myMapFunc, my_list,my_tuple)print(updated_list)print(list(updated_list))

输出:

['a_PHP', 'b_Java', 'b_Python', 'd_C++', 'e_C']

希望这篇文章对你们有用,

欢迎在下方讨论留言,

谢谢关注.

c++ map 获取key列表_一日一技:举例说明python中的map()方法相关推荐

  1. c++ map 获取key列表_好未来Golang源码系列一:Map实现原理分析

    分享老师:学而思网校 郭雨田 一.map的结构与设计原理 golang中map是一个kv对集合.底层使用hash table,用链表来解决冲突 ,出现冲突时,不是每一个key都申请一个结构通过链表串起 ...

  2. python中不被定义_一日一技:在Python中双下划线私有方法不能被调用的原理

    一日一技:在Python中双下划线私有方法不能被调用的原理 在使用Python编写面向对象的代码时,我们会常常使用"继承"这种开发方式.例如下面这一段代码: class Info: ...

  3. python文本格式上一日_一日一技:在 Python 中快速遍历文件

    一日一技:在 Python 中快速遍历文件 摄影:产品经理 厨师:产品经理 当我们要在一个文件夹及其子文件夹里面寻找特定类型的文件,我们可能会这样写代码: 没有子文件夹时 import os all_ ...

  4. python延时执行函数_一日一技:在 Python 中实现延迟调用

    一日一技:在 Python 中实现延迟调用 收录于话题 #你不知道的 Python 71个 摄影:产品经理 产品经理的生日餐 熟悉 Golang 的同学都知道,Golang 里面有一个关键词叫做def ...

  5. 制打印如下所示的n行数字金字塔_一日一技:在Python中实现阿拉伯数字加上中文数字...

    在Python 3里面,中文是可以作为变量名的,而运算符又可以重载,基于这两个特性,我们可以实现阿拉伯数字与中文数字的四则运算. 首先我们定义一个类 Num: class Num(object): d ...

  6. dmol3给定关键字不在字典中_一日一技:举例说明python中的map()方法

    map()函数 Python 的map()方法,作为输入提供的迭代器的所有元素应用函数. 例如,迭代器可以是列表,元组,集合,字典,字符串,并且它返回可迭代的映射对象. 另外,map()是python ...

  7. python 做个创越火线挂_一日一技:用Python做个能挂墙上的大钟表

    今天给大家分享 1 个非常实用的 python 技能--用 Python 做个能挂墙上的大钟表,先上成果视频: 本项目用到的库主要有 pygame . math . datetime 等,另外还用到一 ...

  8. python读取文件_一日一技:使用Python读取Excel文件

    安装xlrd模块: pip install xlrd 使用xlrd模块,可以从电子表格中检索信息. 例如,可以在Python中完成读取,写入或修改数据的操作. 另外,用户可能必须浏览各种工作表并根据某 ...

  9. Java中Map获取key和value

    Java Map获取key和value的方法 List<Map<String,Object>> list  =new ArrayList<Map<String,Ob ...

最新文章

  1. Java项目:OA办公自动化系统设计和实现(java+springboot+freemarker+mysql+maven+mybatis+jpa)
  2. 使用golang的for打印三角形
  3. python小程序源代码-Python数据库小程序源代码
  4. 程序间数据共享与传递(2):EXPORT/IMPORT、SAP/ABAP Memory
  5. spring mvc @RequestBody @ResponseBody 解析流程
  6. 数据库主从不同步_数据从不说什么
  7. MySQL学习【第五篇SQL语句上】
  8. 魔法值(【CCF】NOI Online能力测试3 提高组)
  9. ardupilot在Linux上设置SITL(FlightGear)
  10. github入门教程最全中文版(官方)
  11. C# ping 局域网扫描
  12. matlab的otdr仿真,otdr软件下载
  13. html弹窗代码大全定时弹窗,js点击弹窗弹出表单框代码
  14. CAD和GIS绘制图形分析
  15. 【Axure交互教程】 可滑动的标签页效果
  16. 车辆运动控制(4)考虑道路曲率和轮胎滑移
  17. innodb和myISAM 1075
  18. 8.编写一个除法计算器,程序具有try-catch-finally结构,程序要求用户输入除数和被除数,在出现除数为零(异常2)和除数、被除数中有一个不是数字(异常1)的情况时进行相应的处理。当调用存放
  19. 航空摄影测绘图制作,无人机航测成图
  20. C语言红外模块程序,C语言写的红外遥控解码程序

热门文章

  1. JAVA 定义全局常量码表_【Java基础】java常量是什么?
  2. Python学习笔记:爬取网页图片
  3. 【BZOJ1013】球形空间产生器,第一次的高斯消元
  4. 【BZOJ1051】受欢迎的牛,tarjan缩点重构图
  5. linux perl开发工具,专家推荐 几款常用Perl开发工具
  6. java兔子问题编程思路详解_Java算法之“兔子问题”
  7. oracle path函数,自定义类似 sys_connect_by_path 功能的函数
  8. 【英语学习】【Level 07】U06 First Time L4 Lost in Shanghai
  9. 【英语学习】【Level 07】U04 Rest and Relaxation L1 Waiting to board a train
  10. js页面初始化方法只调用一次_跟我学 “Linux” 小程序 Web 版开发(三):云开发相关数据调用