擅长:python、mysql、java
<p>由于内置的<a href="https://wiki.python.org/moin/DictionaryKeys" rel="nofollow noreferrer">hashing</a>键,在字典中查找数据花费了O(1)时间。当然,对于大量的数据,会有<a href="http://en.wikipedia.org/wiki/Collision_%28computer_science%29" rel="nofollow noreferrer">collisions</a>需要线性时间来解决,但是包含10万个项目的dict应该可以正常工作。不要在长列表中搜索数据,因为这需要线性(O(n))时间。在</p>
<p>但是,根据您计划如何处理数据,可以考虑使用<a href="http://www.numpy.org/" rel="nofollow noreferrer">numpy</a>。dicts只用于存储和检索,它是完美的,但是使用numpy的<a href="https://stackoverflow.com/questions/8299891/vectorization-of-this-numpy-double-loop">vectorization instead of using loops</a>可以大大加快对大量数据的计算。在</p>
<p>当您需要执行更复杂的查询(搜索多个键或定义要匹配的条件)时,就会出现SQL。对于一个简单的键值对,SQL似乎有点过头了。在</p>