python 对象列表获取对象而不是值?

标签 python list object

简单的例子:

a = 1
b = 2
c = 3
rrr = []
rrr.append(a)
rrr.append(b)
rrr.append(c)
rrr

返回:

[1,2,3]

但我需要得到:

[a,b,c]

我见过这个:

How can I get the name of an object in Python?

但我不太确定解决方案是否说只有函数才有 __name__ 属性。

我试图解决的问题是我有一个类,它的属性之一是它具有的其他属性的列表,因此我可以轻松地迭代它们(它们都非常频繁地组合在一起,并且它们都是 bool 值)。但我需要对那个列表进行检查,获取它的名称,而不是它的值。

列表不应该先指向变量,然后指向变量引用的值,还是在这种情况下Python只是跳过变量的小便利贴而只查看实际对象?

如果是这样,在构建列表期间,是否有办法强制它走很长的路并查看便利贴变量,以便我可以恢复它们?

最佳答案

你可以尝试:

class MyIntValue:
    def __init__(self, x:int, name:str):
        self.name = name
        self.value = x

    def __repr__(self):
        return self.name


a = MyIntValue(1, 'a')
b = MyIntValue(2, 'b')
c = MyIntValue(3, 'c')
rrr = []
rrr.append(a)
rrr.append(b)
rrr.append(c)

print(rrr)

输出:

[a, b, c] 

关于python 对象列表获取对象而不是值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57501252/

相关文章:

android - Python 等效于 Java DataInputStream.readUTF()

python - 从 Python 中的字典中的列表中删除一个元素

python - 使用递归交换字符串中的两个字母

python - python中赋值意味着指向地址?

c# - 比较同一列表中的多个项目

python - 如何获取有序的字符串列表

javascript - 如何在 JavaScript 中的数组中添加多个对象?

python - djangoobjects.filterQ() 在一次查询中可以使用多少次?

javascript - 对对象日期键进行排序

python - 如何在 Python 中迭代嵌套列表时访问对象的属性?