gpt4 book ai didi

python - 如何创建一个对两个或多个相同形状的嵌套列表进行操作的 Python 函数?

转载 作者:行者123 更新时间:2023-12-01 01:05:27 25 4
gpt4 key购买 nike

我想将任意函数应用于两个或多个相同形状的嵌套列表。例如,如果我的功能是:

def add(a, b):
if "NULL" not in [a, b]:
return a + b
else:
return "NULL"

我的输入是:

input1 = [[1, 2, "NULL"], [3, 4], [5, 6, 7, 8]]
input2 = [[9, 8, "NULL"], [7, 6], [5, 4, 3, 2]]

然后我希望输出是

output = [[10, 10, "NULL"], [10, 10], [10, 10, 10, 10]]

输入总是嵌套一层深,但理想情况下输出应该是任何东西(例如,如果函数是“concatenate(a, b)”函数,则可以嵌套得更深)

最佳答案

怎么样:

def apply_f(a, b, f):
if isinstance(a, list):
return [apply_f(item_a, item_b, f) for item_a, item_b in zip(a, b)]
else:
return f(a, b)

result = apply_f(input1, input2, add)

关于python - 如何创建一个对两个或多个相同形状的嵌套列表进行操作的 Python 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55406703/

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