如何在不使用内置地图或星图的情况下编写类似星图的函数?

尼克拉斯

这是任务:

制作一个函数my_map_k,将任意一个f≥1的函数f和k列出L 1,...,L k,并返回列表[f(L 1 [0],...,L k [ 0]),...,f(L 1 [n-1],...,L k [n-1])],其中n是最短L i列表的长度

暗示。使用Python的*符号来处理任意数量的列表作为参数。

例:

my_map_k(lambda x, y, z: x*y*z, [3, 2, 5], [2, 7, 9], [1, 2])

应该回来[6, 28]

这是我所走的路,但是我被困住了。

def my_map_k(f, *L):
    n = len(min(*L, key=len))
    x=0
    while x < n:
        return [f(*L[x],) for x in L]

my_map_k(lambda x, y, z: x*y*z, [3, 2, 5], [2, 7, 9], [1, 2])

问题是,我不能只说有3个列表,因为可能还有更多。此外,我看不到如何从所有三个列表中删除第一个元素。

零比雷埃夫斯

您可以依次从每个列表中zip()获取第n个元素,并使用列表推导对生成的每组参数调用提供的函数:

def my_map_k(f, *lists):
    return [f(*args) for args in zip(*lists)]

它在起作用:

>>> my_map_k(lambda x, y, z: x*y*z, [3, 2, 5], [2, 7, 9], [1, 2])
[6, 28]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在不使用任何内置函数且不使用循环的情况下生成类似转置的矩阵?

如何在不使用内置函数的情况下预测KNN分类器

如何在不使用内置函数的情况下从python中的数组中删除元素

如何在不使用unity内置函数的情况下围绕对象旋转?

如何在不使用MATLAB中内置函数的情况下进行10倍交叉验证?

如何在不使用 Javascript 中的内置函数的情况下进行过滤?

Prolog 如何在不使用内置函数的情况下计算事实的数量

如何在不使用 public 的情况下编写脚本?

如何在不使用generate函数的情况下编写自定义工厂属性

如何在不使用 JSX 的情况下编写 ReactJS 函数组件?

如何在不使用模数的情况下编写此函数?

LISP如何在不使用LOOP的情况下编写此函数

如何在不使用内置函数的情况下对字符串数组中的重复项进行排序和删除?

如何在不使用内置函数的情况下获取LinkedList类的下一个指针?

如何在不使用内置函数sum和嵌套循环的情况下添加嵌套列表的值

如何在不使用任何内置函数的情况下获取对象数组中所有键值的总和

C ++:如何在不使用任何内置函数的情况下将字符串转换为整数

如何在不使用C#中内置函数Rank的情况下获取数组的维数?

在不使用内置 strcpy 的情况下实现 strcpy 函数

如何在没有 Matlab 内置函数的情况下编写 3D 直方图代码?

如何在不使用Java库和内置方法的情况下计算平方根?

如何在不使用python的内置方法的情况下将列表中的单词大写?

如何在不使用内置 c# 方法的情况下反转字符串

如何在不使用任何内置函数的情况下在数组中插入元素

如何在不使用内置函数的情况下在matlab中翻转图像?

如何在不使用map reduce的情况下使用Python编写单词计数程序

如何在不使用Google地图的情况下获取特定城市或街道的经度和纬度?

如何在不使用dijit的情况下更改buttonclick上的地图缩放级别?

如何在不使用for循环的情况下编写以下八度代码?