我正在構建一個python程序,它將與數千個python對象一起工作。我很好奇什麼是最優雅的方式來組織它們,而且我也不清楚什麼時候將事情複製到python中。處理Python程序中的很多對象
例如,如果我有一個擁有數千個對象列表的管理器對象,但它也有一個包含這些數千個對象中每一個對象的鍵的字典,那麼這些對象是否在內存中存在兩次?如果我要更改列表中某個對象的屬性,它是否也會更改字典中相應對象的屬性?
我無法在這方面找到太多的好消息,所以如果有人能指引我朝着正確的方向發展,那將會有所幫助。
這裏是我的想法:
class Manager():
def __init__(self,list_of_objects):
self.myobjects = []
self.myobjectsdict= {}
self.myobjects = list_of_objects
for object in self.myobjects:
self.myobjectsdict[object.name] = object
然後,如果我要創建第二個管理器對象,並給它一些第一經理人的對象,他們會是副本?或者,第二位經理所做的更改是否適用於第一位所欠對象?例如,這裏發生了什麼:
manager2 = Manager(manager1.myobjects[5000:10000])
manager2.myobjects[71].name = "newname"
第一個管理器中該對象的名稱是否更改?字典密鑰仍然是舊名稱?
最後,是成千上萬個對象的列表還是字典真的是組織大量python對象的最佳方式,還是有沒有更好的方式我沒有遇到過?非常感謝您的幫助。
聽起來就像接近需要數據庫,ORM和類。 –