Python Map 函数详解

目录
  • 首先我们从 for 循环开始
    • for 循环背后发生了什么
  • Python map 函数(附示例代码)
    • Python map 函数背后发生了什么
  • 如果要转换项目,使用 Python map 函数比 for 循环更好
  • 总结

如果你正在学习编程,那么掌握 Python map 函数是你升级的机会。

想象一下:你想成为一个更高效的程序员,你希望代码编译得更快,你想用你强大的编程知识给同行留下深刻印象。如果你对其中任一点有共鸣,那么你来对地方了。

在我们继续之前,你需要了解什么是函数和可迭代对象:

函数是执行特定任务的代码。

例如:len(), print(), str()

可迭代对象是包含一个或多个项的对象。

例如:列表字典元组

Python map 函数是一个允许你使用另一个函数转换整个可迭代对象的函数。这里的关键概念是转换,它可以包括但不限于:

  • 将字符串转换为数字
  • 四舍五入数字
  • 获取每个可迭代项的长度

你可能想知道,“为什么我不能用 for 循环来做上面的事情?”

答案是:你可以。但是使用 Python map 函数可以节省内存(这意味着你的代码运行得更快),并且需要更少的代码。让我们通过一个例子来表达我的意思。

首先我们从 for 循环开始

假设你有一个数字组成的字符串列表,你需要将字符串列表转换为整数:

list_of_strings = ["5","6","7","8","9", "10"]

你可以使用空列表和 for 循环来完成此操作:

list_of_strings = ["5","6","7","8","9", "10"]
result = []
for string in list_of_strings:
    result.append(int(string))
print(result)

这个示例运行的结果是:

输出:[5, 6, 7, 8, 9, 10]

for 循环背后发生了什么

你可能对结果感到满意,但想想你的代码刚刚做了什么。

你告诉计算机遍历每个项目(“5”、“6”、“7” 等),转换项目,然后将该项目存储在新列表中。虽然使用 for 循环来转换列表是有效的,但它不是最佳的。

Python map 函数(附示例代码)

相反,让我们使用 Python map 函数来生成最佳结果。我们将从需要转换的字符串列表开始:

list_of_strings = ["5","6","7","8","9", "10"]

然后我们将使用 Python map 函数将字符串列表转换为整数列表:

result = map(int,list_of_strings)
print(list(result))

如果你运行上面的例子,你会得到相同的结果:

输出:[5, 6, 7, 8, 9, 10]

在我们了解为什么 Python map 函数比使用 for 循环更好之前,让我们分解一下我们刚刚做的事情:

list_of_strings = ["5","6","7","8","9", "10"]

我们在这里所做的只是创建一个变量来存储我们想要转换为数字的字符串列表。

result = map(int,list_of_strings)

让我们从里到外分解上面的代码。Python map 函数的语法如下:

map(insert function here, insert iterable here)

map() 只是 Python map 函数的名称,没什么特别的。

insert function here 是你将在函数中写入的空间。在上面的代码示例中,我们使用了 int 函数。我们可以使用另一个内置函数,如 len() ,或者我们可以构建自己的函数并在这里也使用它。

insert iterable here 是你将在你选择的可迭代项目中写入的空间。在本例中,我们插入了列表(list_of_strings)。

result 是我们存储新转换项目的变量。

让我们转到最后一行代码。同样,它将从内而外执行:

print(list(result))

list() 接收我们新转换的可迭代项,并告诉我们的计算机这些项是列表的一部分。

print() 打印出我们的新列表!

Python map 函数背后发生了什么

Python map 函数不是遍历字符串列表的每个项目,而是将整个字符串列表转换为数字列表。你节省了内存,并且代码运行得更快。

如果要转换项目,使用 Python map 函数比 for 循环更好

最后,Python map 函数比 for 循环更优雅,将帮助你更快地编译代码。

使用 Python map 函数将有助于将你的编程技能提升到一个新的水平,让你成为一名更好的程序员。在此过程中,你甚至可以用这项新技能给你的同行留下深刻印象。

总结

Python map 函数只是一个开始。还有更多 Python 技巧可以帮助你编写更优雅的代码并提升你的编程技能。祝你学习愉快!

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注我们的更多内容!

(0)

相关推荐

  • Python Map 函数的使用

    map()是一个 Python 内建函数,它允许你不需要使用循环就可以编写简洁的代码. 一.Python map() 函数 这个map()函数采用以下形式: map(function, iterable, ...) 它需要两个必须的参数: function - 针对每一个迭代调用的函数 iterable - 支持迭代的一个或者多个对象.在 Python 中大部分内建对象,例如 lists, dictionaries, 和 tuples 都是可迭代的. 在 Python 3 中,map()返回一个

  • Python中 map()函数的用法详解

    map( )函数在算法题目里面经常出现,map( )会根据提供的函数对指定序列做映射,在写返回值等需要转换的时候比较常用. 关于映射map,可以把[ ]转成字符串的话,就不需要用循环打印字符串输出结果这种比较旧的方式. 在Python 3中的例子如下: 也可以用匿名函数来计算幂计算: map(lambda x:x**2,[1,2,3,4,5]) 也可以用来规范输出: name_list={'tony','cHarLIE','rachAEl'} def format_name(s): ss=s[0

  • python中map、any、all函数用法分析

    本文实例讲述了python中map.any.all函数用法.分享给大家供大家参考.具体分析如下: 最近想学python,就一直比较关注python,昨天在python吧看到有个帖子提问怎么在python中怎么判断密码是否符合规范,回帖中有很多用循环的,除此外还有一个没有用循环,代码非常简练,下面是代码: def volid(pwd): a = any(map(str.isupper,pwd)) b = any(map(str.islower,pwd)) c = any(map(str.isdig

  • python中map()函数的使用方法示例

    前言 在python里有一个函数map(),它有点高大上的感觉.本文将详细给大家介绍python中map()函数使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 或许你已经看过GOOGLE最挣钱的论文: "MapReduce: Simplified Data Processing on Large Clusters" Google的那篇MapReduce论文里说:Our abstraction is inspired by the map and redu

  • python中map()函数使用方法详解

    目录 总结 先看map()函数底层封装介绍: 注释中翻译为: map(func, *iterables)--> map对象 创建一个迭代器,使用来自的参数计算函数每个迭代器.当最短的迭代器耗尽时停止. 作用: map(func, lst) ,将传⼊的函数变量 func 作⽤到 lst 变量的每个元素中,并将结果组成新的列表 (Python2)/ 迭代器(Python3) 返回. 注意: map()返回的是一个迭代器,直接打印map()的结果是返回的一个对象. 示例代码1: lst = ['1',

  • Python Map 函数详解

    目录 首先我们从 for 循环开始 for 循环背后发生了什么 Python map 函数(附示例代码) Python map 函数背后发生了什么 如果要转换项目,使用 Python map 函数比 for 循环更好 总结 如果你正在学习编程,那么掌握 Python map 函数是你升级的机会. 想象一下:你想成为一个更高效的程序员,你希望代码编译得更快,你想用你强大的编程知识给同行留下深刻印象.如果你对其中任一点有共鸣,那么你来对地方了. 在我们继续之前,你需要了解什么是函数和可迭代对象: 函

  • 对pandas中Series的map函数详解

    Series的map方法可以接受一个函数或含有映射关系的字典型对象. 使用map是一种实现元素级转换以及其他数据清理工作的便捷方式. (DataFrame中对应的是applymap()函数,当然DataFrame还有apply()函数) 1.字典映射 import pandas as pd from pandas import Series, DataFrame data = DataFrame({'food':['bacon','pulled pork','bacon','Pastrami',

  • python imread函数详解

    Python 中各种imread函数的区别与联系 最近一直在用python做图像处理相关的东西,被各种imread函数搞得很头疼,因此今天决定将这些imread总结一下,以免以后因此犯些愚蠢的错误.如果你正好也对此感到困惑可以看下这篇总结.当然,要了解具体的细节,还是应该 read the fuck code和API document,但貌似python的很多模块文档都不是很全,所以只能多看代码和注释了. 先来看看常用的读取图片的方式: PIL.Image.open scipy.misc.imr

  • Python入门教程(十九)python的函数详解

    目录 创建函数 调用函数 参数 默认参数值 以 List 传参 返回值 关键字参数 任意参数 pass 语句 递归 函数是一种仅在调用时运行的代码块. 可以将数据(称为参数)传递到函数中. 函数可以把数据作为结果返回. 创建函数 在 Python 中,使用 def 关键字定义函数: 实例 def my_function(): print("Hello from a function") 调用函数 如需调用函数,请使用函数名称后跟括号: 实例 def my_function(): pri

  • python水晶球(函数)详解

    目录 传递实参 位置实参 关键字参数 函数定义的默认参数值 个数可变的关键字形参 总结 传递实参 函数定义中可能包含很多的形参.因此函数调用的过程中也能包含多个实参.向函数传递实参的方式有很多.如果实参的顺序与形参的顺序相同的情况下可以使用位置实参.也可以使用关键字实参,其中每个实参都由变量名和值组成. 位置实参 在调用函数时,python必须将函数调用中的每个实参都关联到函数定义中的一个形参,也就是根据形参名称进行实参的传递,最简单的关联方式是实参的顺序,这种关联方式便是位置实参. def c

  • python常用函数详解

    1.函数的介绍 为什么要有函数?因为在平时写代码时,如果没有函数的话,那么将会出现很多重复的代码,这样代码重用率就比较低...并且这样的代码维护起来也是很有难度的,为了解决这些问题,就出现了函数,用来将一些经常出现的代码进行封装,这样就可以在任何需要调用这段代码的地方调用这个函数就行了. 函数的定义:函数是指将一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需调用其函数名即可 特性: 代码重用 保持一致性 可扩展性 2.函数的创建 在python中函数定义的格式如下: def

  • Python sorted函数详解(高级篇)

    sorted 用于对集合进行排序(这里集合是对可迭代对象的一个统称,他们可以是列表.字典.set.甚至是字符串),它的功能非常强大 1.对列表排序,返回的对象不会改变原列表 list = [1,5,7,2,4] sorted(list) Out[87]: [1, 2, 4, 5, 7] #可以设定时候排序方式,默认从小到大,设定reverse = False 可以从大到小 sorted(list,reverse=False) Out[88]: [1, 2, 4, 5, 7] sorted(lis

  • 详解Python map函数及Python map()函数的用法

    python map函数 map()函数 map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f 依次作用在 list 的每个元素上,得到一个新的 list 并返回. 例如,对于list [1, 2, 3, 4, 5, 6, 7, 8, 9] 如果希望把list的每个元素都作平方,就可以用map()函数: 因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算: def f(x): return x*x print map(f,

  • Python学习之魔法函数(filter,map,reduce)详解

    目录 filter() 函数 map() 函数 reduce() 函数 filter() 函数 小实战 今天的这一章节我们来学习一下,Python 中的三个高级函数,也被称之为 魔法函数.之所以把他们交的这么高级,主要是因为它们返回的数据类型多数是 迭代器. 我们在上一章节有介绍过,迭代器 可以提升我们的代码的执行效率.降低内存消耗.所以接下来我们就认识一下这些 魔法函数. filter() 函数 filter() 函数 是python的一个内置函数. filter() 函数的功能:可以将一个可

  • 基于python内置函数与匿名函数详解

    内置函数 Built-in Functions abs() dict() help() min() setattr() all() dir() hex() next() slice() any() divmod() id() object() sorted() ascii() enumerate() input() oct() staticmethod() bin() eval() int() open() str() bool() exec() isinstance() pow() super

随机推荐