您要这样做吗?
dict( (name,eval(name)) for name in ['some','list','of','vars'] )
例
>>> some= 1
>>> list= 2
>>> of= 3
>>> vars= 4
>>> dict( (name,eval(name)) for name in ['some','list','of','vars'] )
{'list': 2, 'some': 1, 'vars': 4, 'of': 3}
我已经很想这样做了。这种破解与rlotun的建议非常相似,但它是单行的,这对我很重要:
blah = 1
blah_name = [ k for k,v in locals().iteritems() if v is blah][0]
Python 3+
blah = 1
blah_name = [ k for k,v in locals().items() if v is blah][0]