Python:从对象列表中通过引用获取整数列表 - Python

Python: Get list of integers by reference from list of objects - Python

提问人:dunajovm 提问时间:2/19/2022 最后编辑:dunajovm 更新时间:2/19/2022 访问量:240

问:

我有对象的 2D 列表(矩阵),其中一个属性为整数(或浮点数)。 我需要对这些整数属性的矩阵执行一些操作,以便第一个列表中的对象也会发生变化。 但是,当我创建这些属性的 2D 列表时,引用不会复制它们。因此,更改此整数列表不会更改对象列表。

有没有一些简单的方法可以通过引用将这些整数传递到我的列表中? 我不想总是计算列表并重写所有对象属性,因为这太耗时了。

代码示例:

class A:
    def __init__(self, value):
         self.value = value

list_of_objects = []
list_of_values = []
for i in range (2):
    list_of_objects.append([])
    list_of_values.append([])
    for j in range(2):
         item = A(2)
         list_of_objects[i].append(item)
         list_of_values[i].append(item.value)

print (list_of_values) # getting [[2,2],[2,2]]
list_of_values[1][1] *= 3
print (list_of_objects[1][1].value) # getting 2, want 6

这只是一个简单的例子。事实上,我想做的是矩阵卷积

Python 列表 逐引用传递

评论

1赞 juanpa.arrivillaga 2/19/2022
“通过引用”在这里不是正确的术语。无论如何,int 的引用是list_of_values的内容。但是,对象是不可变的。您无法更改其值intfloat
1赞 Pychopath 2/19/2022
什么“对这些整数属性的矩阵进行运算”,为什么不能对对象矩阵进行运算?
0赞 trincot 2/19/2022
只需使用一个列表即可。下定决心你真正想要拥有两者中的哪一个,并与之合作。

答: 暂无答案