当前位置: 首页 > 面试题库 >

Python-了解map函数

廉元龙
2023-03-14
问题内容
map(function, iterable, ...)

将函数应用于每个iterable并返回结果列表。如果传递了其他可迭代的参数,则函数必须采用那么多参数,并且并行地将其应用于所有可迭代的项目。

如果一个可迭代项短于另一个可迭代项,则假定它扩展为None。

如果functionNone,则假定为身份函数;如果有多个参数,则map()返回一个由元组组成的列表,其中包含所有可迭代对象中的对应项(一种转置操作)。

可迭代参数可以是序列或任何可迭代对象。结果总是一个列表。

这在制作笛卡尔积时起什么作用?

content = map(tuple, array)

将元组放在任何地方会有什么作用?我也注意到,如果没有地图功能的输出abc,并与它,它的a, b, c

我想完全了解此功能。参考定义也很难理解。花哨的绒毛太多。


问题答案:

map不是特别pythonic。我建议改用列表推导:

map(f, iterable)

基本上等同于:

[f(x) for x in iterable]

map单独不能执行笛卡尔积,因为其输出列表的长度始终与输入列表相同。你可以通过列表理解来简单地做笛卡尔积:

[(a, b) for a in iterable_a for b in iterable_b]

语法有点混乱-基本上等同于:

result = []
for a in iterable_a:
    for b in iterable_b:
        result.append((a, b))


 类似资料:
  • 将函数应用于迭代的每一项,并返回结果列表。如果传递了额外的可迭代参数,函数必须接受这么多参数,并并行应用于所有迭代的项。 如果一个迭代比另一个迭代短,则假定它是用无项扩展的。 如果函数是,则假定身份函数;如果有多个参数,返回包含所有迭代中相应项的元组组成的列表(一种转置操作)。 可迭代参数可以是序列或任何可迭代对象;结果总是一个列表。 这在制造笛卡尔积时扮演什么角色? 把元组放在任何地方都有什么效

  • 问题内容: 对象的可评估字符串表示形式(可以它,这意味着它是评估为Python对象的字符串表示形式) 换一种说法: 问题: 为什么我得到双引号?(这样做的时候我不懂) 为什么我得到时却得到而不是是对象? 问题答案: 因此,名称x将附加到字符串。例如,当你致电时,解释器放而不是,x然后致电。 实际调用一个魔术方法的,这给串包含该值的表示分配给。因此,它会在字符串”“中返回结果”。的想法是给出一个包含

  • 本文向大家介绍简单了解python filter、map、reduce的区别,包括了简单了解python filter、map、reduce的区别的使用技巧和注意事项,需要的朋友参考一下 这篇文章主要介绍了简单了解python filter、map、reduce的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 python中有一些非常有趣的函

  • 问题内容: 我对使用python进行函数式编程感兴趣,并且正在研究Mary Rose Cook的博客文章 函数式编程的实用介绍 。 显然,它是用python 2编写的,如下所示: 在Python 3中产生以下结果: 我有两个问题: 为什么会这样呢? 除了将地图对象转换为列表然后使用numpy之外,还有其他解决方案吗? 问题答案: 如所述,在迁移指南中, 在Python 2中,map()返回一个列表

  • 问题内容: 为什么下面的代码不打印任何内容: 我正在Python 3中执行上述代码。我想我缺少了一些非常基本的东西,但无法弄清楚。 问题答案: 返回iterator,直到您要求它之前,它不会处理元素。 将其变成列表以强制处理所有元素: 或将其长度设置为0以不产生列表(如果不需要地图输出): 但是请注意,对于任何以后的代码维护者而言,简单地使用循环都更具可读性:

  • 深入了解Bundle和Map 原文链接 : The mysterious case of the Bundle and the Map 译文出自 : 开发技术前线 www.devtf.cn 译者 : yinna317 校对者: chaossss 状态 : 翻译完成 前言 因为往Bundle对象中放入Map实际上没有表面上看起来那么容易。 这篇博客是在Eugenio @workingkills Ma