从变量创建动态字典
变量内省是 Python 编程中的一个有价值的工具,特别是在使用动态数据结构时。一项常见的任务是将变量集合转换为具有相应值的字典。虽然 Python 本身不支持获取字符串形式的变量名称,但有一些解决方法可以实现此功能。
一种方法涉及利用 locals() 字典,它存储当前作用域中的所有局部变量。然而,它的使用有一些限制,因为在当前范围之外创建的变量将不被包括在内。这可以通过手动迭代 locals() 字典并搜索具有特定值的变量来解决,如下所示:
a = 1 for k, v in list(locals().iteritems()): if v is a: a_as_str = k
此方法返回所需变量的字符串名称,然后可以使用该变量动态构建字典:
my_dict = dict(bar=bar, foo=foo)
需要注意的是,对于大量变量来说,这种方法的计算成本可能很高,而且它可能并不总是最直接的解决方案。然而,它为需要动态创建字典的情况提供了一个可行的选择。
以上是如何从变量动态创建 Python 字典?的详细内容。更多信息请关注PHP中文网其他相关文章!