检索Python中对象的引用列表
所有:
a = 1
b = a
c = b
现在,我想获取一个1
标记了对象的列表[a, b, c]
。我该怎么办?
顺便说一句,如何在这里正式将变量称为“ a”?我知道到目前为止,它是对象的“对象标签”,但是我不知道它的术语是什么。
谢谢!
我为什么需要这个:
a = b = c = 1
print a, b, c
1 1 1
a = 2
print a, b, c
2 1 1
在其他语言(例如C)中,如果我重新分配a = 2,则a,b,c应该为2,但是在python中,没有诸如引用之类的东西,因此更改abc的所有值的唯一方法是a
= b据我所知= = c = 2,这就是为什么要获取对象的所有引用的原因。
-
您要问的不是很实用,也是不可能的。这是一种疯狂的方式:
>>> a = 1 >>> b = a >>> c = b >>> locals() {'a': 1, 'c': 1, 'b': 1, '__builtins__': <module '__builtin__' (built-in)>, '__package__': None, '__name__': '__main__', '__doc__': None} >>> [key for key, value in locals().items() if value == 1] ['a', 'c', 'b'] >>> globals() {'a': 1, 'c': 1, 'b': 1, '__builtins__': <module '__builtin__' (built-in)>, '__package__': None, '__name__': '__main__', '__doc__': None} >>> [key for key, value in globals().items() if value == 1] ['a', 'c', 'b']