我想找到类中第二个属性的对象,使第一个属性具有特定的值。根据该对象的第二个属性访问python对象的属性
Class Day(object):
def __init__(self, a_datetime_date):
self.date = a_datetime_date
self.colour = None
我现在实例一大堆对象在一个循环:
for x in a_list_of_dates:
some_day = Day(x)
some_day.colour = 'Red' # or some other values depending on the details
是相当新的对象,我只是救了他们的字典。 {'1': <__main__.Day object at 0x7f9a444cacd0>, '2': <__main__.Day object at 0x7f9a447cacd0>, etc}
现在有一个简单的方法可以让我检索对应于日期范围的colour
?或者,也许,更简单的一个日期?
我只能想办法像sorted(dict.iteritems())
,然后通过列表检查day_object.date
一个接一个。如果是我想要的日期,那么使用day_object.colour
来查找颜色。
的问题的答案可能有两种形式:
- 一种更好的方式来存储/访问几百对象(不是字典等)
- 一个查询在字典中的对象的方式以获得我感兴趣的日子的颜色。
谢谢。
编辑:在简化一个小问题时,我没有使用类的动机。 “日”对象实际上有15个属性和2个方法(不仅仅是colour
)。所以@科尔的建议是好的,但没有这么多的属性。这些对象用于计算各种事物:300天中有多少是休息时间?有多少天是半天?也许我被困在使用复杂的列表/字典和移动到完整的ORM之间?
它几乎听起来像是你想要一个ORM。 –