LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 2224|回复: 4

如何获取Python中定义的变量名称

[复制链接]
发表于 2009-11-6 08:44:39 | 显示全部楼层 |阅读模式
这样一段代码:
a='abc'
b='def'
c='ghi'

t=a,b,c

for i in t:
  if i =='def':
    print '该变量为:',( 在这里我希望输出b )

谁能告诉我该怎么做
 楼主| 发表于 2009-11-6 08:45:37 | 显示全部楼层
for那一段有缩进,一发表不知怎么就没了……
回复 支持 反对

使用道具 举报

发表于 2009-11-6 10:00:04 | 显示全部楼层
可以试试这个函数:
def get_var_name(value):
        mvar=[key for key, val in all.items() if val==value][0]
        return mvar

这样,在原程序中使用get_var_name('def'),就可以输出b了。
当然,这是一种权变的做法,不能处理内有相同值的变量的情况。如果b='def'
x='def',
则只能返回b,不能返回x。
回复 支持 反对

使用道具 举报

发表于 2009-11-6 19:00:11 | 显示全部楼层
  1. for i in vars().keys():
  2.     if vars()[i]=='def':
  3.         print '该变量为:',i
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-11-6 22:55:14 | 显示全部楼层
哦,谢谢,我用字典解决了。你这种方法是自定义键值对吗,看上去跟字典一样
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表