我想创建一个命名日日历,但我遇到了一个问题,哪种方法更可取
- 加载数组中的所有名称和日期
- 每次我想查找特定名称对应的日期时创建一个文件并搜索它
- 其他方法?
使用字典(考虑到名称是唯一的):
{'name1':'someday', 'name2':'someday',...}
名称为键,相应的日期为值。
字典提供O(1)
对任何项目的查找,而列表具有O(N)
查找功能。
与其将数据保存到文本文件,不如使用pickle之类的模块,它允许您存储 python 对象。您可以稍后将这些对象加载到内存中并使用它们。
一般来说,搜索文件会比较慢,因为硬盘驱动器很慢。在您的数组中加载姓名和日期通常会运行得更快,因此第一个选项会比第二个更好。