我有变量
street_38 = (4,6,7,12,1,0,5)
有没有办法实际打印名称而不是值? 这就是我对获得'street_38'的兴趣。我想要那个,因为我正在绘制一个数字,当我把
plt.title(str(street_38)
作为标题我得到的是值而不是名字
由于
答案 0 :(得分:1)
从this answer,你可以做这样的事情
>>> a = 1
>>> for k, v in list(locals().iteritems()):
if v is a:
a_as_str = k
>>> a_as_str
a
>>> type(a_as_str)
'str'
话虽如此,这不是一个好方法。 Python对象没有名称。相反,名称具有对象。一个例外是函数的__name__
属性,但规则是相同的 - 我们只是将名称存储为属性。对象本身仍未命名。
上述方法滥用locals()
方法。这不是理想的。更好的方法是将数据重组为类似字典的内容。字典特别是一组命名值。
{
'street38': (4,6,7,12,1,0,5)
}
字典的重点是这种键值关系。这是一种基于名称查找值的方法,这正是您想要的。您可能遇到的另一个问题(取决于您在这里做了什么)是如果有数千条街道将会发生的事情。当然,你也不想写出数以千计的变量名。
答案 1 :(得分:0)
没有良好的方式以编程方式执行此操作。理想情况下,变量的名称对代码完全没有意义。它只对向程序员传达想法非常有用,这样他们才能知道自己在使用什么。