搜索最佳数据存储类型PYTHON

时间:2017-05-27 06:42:02

标签: python list sorting object

我有以下问题我正在解决这个问题,要求我存储大量参数,我会将其视为一个日历应用程序。我正在解决 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 是可以用于工作的可能人员列表。

索引是描述"烦恼"一天都可以。星期一比周日和周六等更好。

stary mlady 是当天所选人员的明确选择。 (我希望我的程序可以生成)

我创建一个列表天(DayOfLife对象)并在" 2017-01-01"中分配每个日期。格式。

然后我填写天数列表以获得我需要的所有值,除了stary和mlady(那些我希望我的程序生成)

NOW ISSUE 。 我不确定我的方法是否是好的"如果我想执行以下内容:

1:按每天的可用人数总数( muze_slouzit_mladeho 中的的数量)对列表进行排序,因为我很乐意首先填充那些最艰难的日子。与此同时,我需要在那些日子之前和之后轻松快速地访问。

所以类似于按列表属性中的键数排序列表( muze_slouzit_mladeho ),然后从可能的键中分配一些东西,然后删除或标记在某天使用某些相同的键之前之后的,因为在关键时间不能在接下来的两天内。 (人不能连续两天参加)。目前我觉得如果我对列表进行排序,我将不得不遍历整个列表以按日期查找前一天并更新其键值。能够写出像

这样的东西感觉更好
day[i-1] remove key
day[i+1] remove key

我不确定我该怎么办呢。我不知道目前如何使用数据库。我认为我的数据类型将不得不演变成其他东西,我可能需要添加另一个列表来保留我因为连续两天规则而删除的人数#34;而不是在原始中删除它。

我想我会想到一些东西但我希望它非常低效。所以我想听听一些关于如何处理这个问题的意见。我必须学习SQLite吗?会有帮助吗?我可以以某种方式使DayOfLife对象的数组可索引吗?或者我可以按属性访问对象吗?我不确定这是否有效。我可能真的很蠢。

1 个答案:

答案 0 :(得分:0)

使用dictDayOfLife object创建一个amount of available people,其中日期为关键值和值,例如

my_dict = {'Date':2017-01-01, 'DayOfLife':<DayOfLife object>, 'amount':10}

使用my_diictkey = my_dict['amount']排序为list object

前/后访问日:

 E.g. current object Date = 2017-01-01
 Day before = 2017-01-01 - 1 = 2016-12-31; my_dict[ 2016-12-31]
 Day after= 2017-01-01 + 1 = 2017-01-02; my_dict[ 2017-01-02]

您确定要永久保存您的数据,因此您必须决定如何操作? 现在开始使用csv module