我想要一个和PHP的compact函数完全一样的函数。
例如,如果我传入一个变量名列表:
compact('var1','var2')
它还给我一个口述:
{'var1':var1, 'var2':var2}
最佳答案
调用方中使用的变量名不易被调用函数使用。可能需要高级使用inspect
,但最好重新考虑为什么需要变量名。
更新:现在我知道您真正需要的是什么(“我想将变量传递给我的模板”),答案很简单:uselocals()
:它返回一个字典,将所有本地变量名映射到它们的值。
更新2:这个怎么样?:
def only(d, *keys):
"""Return the subset of dict `d` whose keys are in `keys`."""
return dict((k,v) for k,v in d.iteritems() if k in keys)
...
a = 17
b = 23
template_data = only(locals(), "a", "b")
关于php - Python:将args转换为dict,就像PHP的紧凑版一样?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3105353/