检索Python中对象的引用列表

发布于 2021-01-29 18:19:22

所有:

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,这就是为什么要获取对象的所有引用的原因。

关注者
0
被浏览
52
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    您要问的不是很实用,也是不可能的。这是一种疯狂的方式:

    >>> 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']
    


知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看