我有这样的字典
dictionary = {"1":"abc_123","2":"def_456" "3":"ghi_789"}
所以我想将"abc_123"
转换为abc_123
,因为我有一个函数调用abc_123
,有人可以帮助我吗。
答案 0 :(得分:1)
# You have two functions.
>>> abc = lambda x: x**2
>>> xyz = lambda x: x**3
>>> type(abc), type(xyz)
(<class 'function'>, <class 'function'>)
# You have a key-value map of the names of the functions.
>>> d = {'1':'abc', '2':'xyz'}
>>> type(d['1'])
<class 'str'>
# Convert them into a key-value map of the index and the actual function.
>>> func_d = {k:eval(v) for k,v in d.items()}
>>> func_d[1]
另请参阅:
答案 1 :(得分:0)
您可以按名称从各自的包中getattr()
个函数,然后调用它们:
>>> import operator
>>> getattr(operator, "add")
<built-in function add>
>>> getattr(operator, "add")(1, 3)
4
因此,根据您函数(例如abc_123
)的存储位置,可能会有所帮助。但是请考虑将函数本身而不是名称存储在字典中。
我还建议您详细阅读Python functions。