2013-08-15 2 views
3

С python, как я могу оценить словарь функций с их ассоциированными параметрами. Чтобы быть более конкретным, ключи являются функциями, а значения - это список параметров.python оценивает функции с параметрами, заданными в словаре

для примера рассмотрим словарь:

{f1: [a, b, c], f2: [q], f3: [5, c]} 

Как бы я перебирать функции для вычисления:

f1(a, b, c) 
f2(q) 
f3(5, c) 

ответ

8
for func, args in the_dictionary.items(): 
    func(*args) 
+0

@AshwiniChaudhary D'Oh! Благодарю. – delnan

+0

'for func, args in the_dictionary.iteritems(): func (* args)' словарь часто вызывает ошибку ToManyValuesToUnpack – eri

+0

это было 'for func, args in the_dictionary:' then i see it =) – eri

1

Дайте этому попытку:

def f1(x, y, z): 
    print 'f1', x, y, x 

def f2(x): 
    print 'f2', x 

def f3(x, y): 
    print 'f2', x, y 

myDict = { 'f1': ['a', 'b', 'c'], 'f2': ['q'], 'f3': [5, 'c'] } 

for k, v in myDict.items(): 
    globals()[k](*v) 
2

Аргументы в списках могут быть распакованы appendin g - звездочку спереди. Затем они действуют так, как если бы они были поставлены по очереди.

for func in func_args.keys(): 
    func(*(func_args[func])) 
Смежные вопросы