8

我需要这方面的帮助。如何将字符串转换为变量/对象/实例名称,因为我不知道如何对其进行分类。
假设我的代码是:

a = {}
b = {}

class Test:
    def getKeys(self, var):
        return var.keys() #where var refers to the dictionary and its a string initially
4

2 回答 2

8

自从我用 Python 做过任何事情以来,它已经永远存在了,但我确实记得曾经遇到过这个问题。我建议你看看这个eval()功能。

于 2013-03-04T01:21:29.473 回答
4

如果我理解正确,您的变量var是一个字符串,可能是"a"or "b"。您想使用该字母来选择要查找的正确字典全局变量。

我建议将您的字典放入另一个字典中,您可以使用键来按名称查找它:

my_dicts = {"a":a, "b":b}

class Test:
    def getkeys(self, dict_name):
        return my_dicts[dict_name].keys()

然而,这可能只是一个设计问题。与其向getkeys方法发送变量名,不如简单地发送字典本身并使用您当前的代码?

而不是Test().getkeys("a"), 调用Test().getkeys(a)(无引号)。

于 2013-03-04T01:28:51.703 回答