2017-10-12 22 views
0

我有以下的解釋相同的密鑰:調用詞典功能多次使用Python中

def func1(a): 
    return a 

dic = { 
     'a' : (lambda: fucn1(2)) 
     } 

我想多次使用相同的密鑰不同的參數來調用FUNC1。

dic = { 
     'a' : (lambda: func1(2), lambda: func1(4)) 
     } 

所以輸出:

2 
4 

我怎樣才能做到這一點?謝謝。

回答

0

我想,它做你想做的!此處不需要lambda功能。只需調用所需的功能即可。嘗試運行它。

def func1(a): 
    return a 

dic = { 
    'a' : (func1(2),func1(4)) 
} 
for i in dic: 
    for j in dic[i]: 
     print j 

輸出:

2 
4 
0

我猜你並不需要一個拉姆達:

dic = {'a':tuple(func(i) for i in range(4))} 
>>> dic 
{'a': (0, 1, 2, 3)} 
0

您可以使用地圖: map(function_to_apply, list_of_inputs)

squared = list(map(func1, items)) 

或用字典:

squared ={'a': (map(func1, items))} 

輸入:

items = [1, 2, 3, 4, 5] 

輸出:

[1, 2, 3, 4, 5]