gpt4 book ai didi

python - 将函数列表应用于可迭代列表

转载 作者:太空宇宙 更新时间:2023-11-03 20:34:46 25 4
gpt4 key购买 nike

我需要编写一个接受两个列表作为输入的函数(可迭代列表,函数“len”、“sum”和“type”的某些子集的列表)

该函数应返回与第一个列表长度相同的列表,其中该列表中的每个元素都是一个元组,该元组已应用了第二个列表中的函数。

<小时/>

这是我当前的代码,但它只返回 obj 和 funcs 的第一项的正确答案:

def apply (list_items, list_funcs):
list1 = ()
for n in list_items:
tup = ()
for f in list_funcs:
tup += (f(n),)
return tup
list1 += tup

return list1

最佳答案

您可以简单地循环每个项目并将函数应用于该项目

def apply(items, funcs):

output = []
#Loop over the items
for item in items:
#Apply function over each item and add it to result
output.append(tuple(func(item) for func in funcs))

return output

print(apply([(1,2),[3,4]], [len, sum, type]))
print(apply([(1,2),[1,3,4,5,6,7],[0]], [len,sum]))

输出将是

[(2, 3, <class 'tuple'>), (2, 7, <class 'list'>)]
[(2, 3), (6, 26), (1, 0)]

或者单行列表理解

def apply(items, funcs):

# Loop over the items, apply function over each item and add it to result
output = [ tuple(func(item) for func in funcs) for item in items ]

return output

关于python - 将函数列表应用于可迭代列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57239104/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com