如何从输入中获取函数并将其应用于python中的数据

问题描述 投票:2回答:2

从python中的输入获取参数,数字和字符串是正常的。我想知道是否有办法从输入中获取用户定义的函数并将其应用于我的程序中。

假设我有一个程序

a = [12,34,2,3,4,23,16,84,3]
print(a)
b = get_function_from_input()
print(b(a))

如果用户在输入中插入如下内容:

def myfun(X):
   return([max(X),min(X),sum(X)])

然后我的程序输出:

[84,2,181]  
python
2个回答
3
投票

您可以使用字典链接到已定义的逻辑:

a = [12,34,2,3,4,23,16,84,3]

def myfun(X):
    return([max(X),min(X),sum(X)])

dispatcher = {'max_min_sum': myfun}

b = input('Enter a dispatcher key:\n')

print(dispatcher[b](a))

演示输入/输出:

Enter a dispatcher key:
max_min_sum
[84, 2, 181]

1
投票

你是如何获得输入的?

如果它有帮助,只想指出函数,如数字和字符串,是python中的对象,可以作为参数或返回值。

a = [12,34,2,3,4,23,16,84,3]

def dostuff(func):
    return func(a)

def myfun(X):
    return([max(X),min(X),sum(X)])

print(dostuff(myfun))

输出

[84, 2, 181]
© www.soinside.com 2019 - 2024. All rights reserved.