在Python中以字符串形式获取列表的名称。

14 浏览
0 Comments

在Python中以字符串形式获取列表的名称。

经过一番研究,我找到了关于变量的这些问题(1,2)。类似地,我想知道在Python中是否有可能将一个列表的名称作为字符串获取,例如:

对于一个列表lst = ['a', 'b', 'c'],一个类似的方法

get_name_of_list_as_string(lst)

应该返回'lst' # 字符串

在Python中是否有这样的功能,如果有的话,具体是如何实现的呢?

0
0 Comments

在Python中,无法从对象本身获取其所属列表的名称作为字符串。这是因为在Python中,名称保存对象的引用,但对象本身不保存引用它们的名称(如果有)。这是一种单向信息流。请记住,不是所有的对象都有名称,而且许多对象有多个名称,所以即使您通过堆栈检查尝试启发式地找到名称,get_name_of_list_as_string([])也会失败,x = [[]]也会失败,get_name_of_list_as_string(x[0])也会失败。

由于Python的机制,无法直接获取对象所属列表的名称。如果有需要获取列表名称作为字符串的需求,可以考虑将列表名称作为参数传递给函数或方法,以便在使用对象时可以使用列表名称。

但是,需要注意的是,这种方法仍然有局限性,因为对象可能同时属于多个列表,或者根本没有名称。因此,建议在编写代码时,不要依赖于获取对象所属列表的名称这一需求。

0