【问题标题】:Getting the name of variables in a list [duplicate]获取列表中变量的名称[重复]
【发布时间】:2018-08-27 11:53:39
【问题描述】:

我想在带有索引的列表中获取变量的名称。例如:

a = 1  
b = 2
list = [a, b]
print(list[0])

输出为 1
有没有办法将“a”作为字符串而不是 1?

另外,上面的代码只是一个例子。我在pygame中编码,所以列表中变量值的实际类型是Surface,而不是int。

感谢您的帮助

【问题讨论】:

  • 你将如何使用它?看来这很可能是您要在此处解决的 XY 问题...
  • 您的列表不包含变量,它包含。在这种情况下,这些值恰好来自变量,但这完全无关紧要 - 这些值对用于引用它们的任何名称一无所知。
  • 简答:否
  • 只需使用dict:{'a': 1, 'b': 2}。使用 Python 3.7+,您可以假设字典是有序的。
  • 声明一个名为list的变量是错误的

标签: python list variables pygame pygame-surface


【解决方案1】:
a = 1  
b = 2
list = [a, b]
a_name = [k for k,v in globals().items() if id(v) == id(list[0])][0]
print(a_name)

【讨论】:

  • 虽然此代码 sn-p 可能是解决方案,但包含解释确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-11-02
  • 2013-09-11
  • 2021-03-31
  • 2012-04-05
  • 2013-07-16
  • 1970-01-01
相关资源
最近更新 更多