我有以下问题我正在解决这需要我存储大量的参数,我会为一般的目的认为它是一个日历应用程序。我正在解决PYTHON这个问题,因为它是我唯一有限的能力。我正在学习这门语言,到目前为止,我还不是专家或熟练的用户。寻找最佳的数据存储类型PYTHON
我有一堂课是我日历的中流砥柱。
class DayOfLife(object):
def __init__(self, date, index, stary, mlady, muze_slouzit_mladeho = [], muze_slouzit_stareho = []):
self.date = date
self.index = index
self.muze_slouzit_mladeho = muze_slouzit_mladeho
self.muze_slouzit_stareho = muze_slouzit_stareho
self.stary = stary
self.mlady = mlady
muze_slouzit_mladeho和_stareho是谁,可用于工作成为可能的人的名单。
索引是描述每天“烦人”的参数。周一更好然后周六,周日等
施塔和mlady是当天选定的人一个明确的选择。 (那些我期望我的程序生成)
我创建了一个列表天(DayOfLife对象),并以“2017-01-01”格式分配每个日期。
我然后填充天的名单有我需要的只是施塔和mlady的所有值(那些我希望我的程序生成)
在现在,问题。 我不知道如果我的做法是“好”的,如果我要像执行的东西:
1:排序每天通过提供人的总金额列表(键在数muze_slouzit_mladeho,因为我很想先填充那些最难的日子,同时我需要轻松快速地访问那些日子前后的那一天。
所以,按照键的数量排序列表那些列表属性(muze_slouzit_mladeho),然后从可能性e键,并且在和之后在之前在之前以某种方式删除或标记为相同的键,因为关键字不能在接下来的两天中。 (人员不能连续两天参加)。此刻,我觉得如果我排序列表,我将不得不遍历整个列表以找到前一天的日期并更新其关键值。感觉最好能够写出像
day[i-1] remove key
day[i+1] remove key
我不确定我会怎么做。我目前不知道如何使用数据库。我认为我的数据类型将不得不演变成其他的东西,我可能需要添加另一个列表来保留由于“连续两天规则”而被删除的数十个人,而不是将其删除。
我想我会想到的东西,但我希望它是非常低效的。所以我想听听一些关于如何解决这个问题的意见。我必须学习SQLite吗?它会有帮助吗?我可以以某种方式使DayOfLife对象的数组可索引?或者我可以通过它们的属性访问这些对象吗?我不确定这是否可行。我可能真的很笨。