【发布时间】:2018-02-12 20:15:30
【问题描述】:
假设我定义了这些变量
a=1
b="2"
c=2
d=2
e="2"
我需要一种方法来获取可以与我指定的对象配对的所有变量名。例如,如果我指定“2”,它应该返回 [“b”,“e”],因为它们是值为“2”的两个变量。如果我指定整数 2,它应该给我 ["c","d"]。有没有办法做到这一点?我也在寻找pythonic的答案。
【问题讨论】:
-
有什么理由不能使用字典? (
myobjects['a'] = 1、myobjects['b'] = "2"等)这将更容易使用。 -
没有pythonic方法可以做到这一点,您必须检查所有可能的名称空间中所有可能的名称:对象对以获得一般答案。如果您可以限制为名称空间,例如
globals然后你可以检查那个命名空间。一般来说,你不应该依赖这种东西,除非你正在构建一个调试器或其他东西 -
@juanpa.arrivillaga 您标记的副本与我提出的问题几乎无关
-
@Qwerty 当然可以,它是关于从对象中检索变量名作为字符串。
-
@juanpa.arrivillaga 这不是重复的,因为该问题没有我的问题的答案
标签: python python-3.x