这是任务:
创建一个函数
my_map_k
,该函数采用函数 f 和 k 列出 L 1 ,...,L k,对于任意 k ≥ 1,并返回列表 [f(L 1 [0],...,L k [ 0]),...,F(L 1 [N-1],...,L ķ [N-1])],其中n是最短的长度L我列表。暗示。使用 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 个列表,因为可能还有更多。此外,我看不到如何从所有三个列表中取出第一个元素。
Cats萌萌
慕姐4208626
月关宝盒
相关分类