<p>你不使用<a href="https://docs.python.org/2/library/bisect.html" rel="nofollow noreferrer">Python: bisect</a>模块有什么原因吗?你知道吗</p>
<p>比如:</p>
<pre><code>import bisect
sorted_year = list()
for each in year:
bisect.insort(sorted_year, each)
</code></pre>
<p>。。。足以创建排序列表。然后可以使用文档中的函数来搜索它。你知道吗</p>
<p>(实际上,您可以使用<code>year.sort()</code>对列表进行适当排序。。。<code>bisect.insort()</code>在从输入流构建列表而不是调用<code>year.append()</code>时可能会稍微有效一些。。。但是我关于使用`<strong>对分</strong>模块的观点仍然存在)。你知道吗</p>
<p>还要注意,600项对于现代计算平台来说是微不足道的。即使是6000也只需要几毫秒。在我的笔记本电脑上,对60万个随机整数进行排序大约需要180毫秒,而类似大小的字符串仍然需要不到200毫秒</p>
<p>因此,在这个应用程序中,以这种数据规模对这个列表进行排序,可能不会得到任何结果。你知道吗</p>
<p>另一方面,Python的标准库中还包含许多模块,用于管理结构化数据和数据文件。例如,可以使用<a href="https://docs.python.org/2/library/sqlite3.html" rel="nofollow noreferrer">Python: SQLite3</a>。你知道吗</p>
<p>使用它,您可以使用标准的sqlddl(数据定义语言)来描述您的数据结构和模式,sqldml(数据操作语言:INSERT、UPDATE和DELETE语句)来管理数据的内容,并使用SQL查询从中获取数据。使用标准的SQL ORDER BY子句,可以按任意列以及任意数量的列的升序和降序混合返回数据,并且可以向架构中添加索引,以确保数据的存储方式能够在您选择的任何键上以任何顺序进行高效的查询和遍历(表扫描)。你知道吗</p>
<p>因为Python在其标准库中包含SQLite,而且SQLite在简单的本地文件上提供SQL客户机/服务器语义。。。在结构化数据中使用它几乎没有坏处。你不需要安装和维护额外的软件、服务器、处理到远程数据库服务器的网络连接等等。你知道吗</p>