我有40000份文件,每个文件93.08字。在avg上,每个单词都是一个数字(可以索引字典),每个单词都有一个计数(频率)。阅读更多here。你知道吗
我在两个数据结构之间存储数据,我想知道我应该选择哪一个,Python人会选择哪一个!你知道吗
三重列表:
列表,其中每个节点:
是一个列表,其中每个节点:
\uuuuuuu。。。。是两个值的列表;word_id
和count
。你知道吗
双字典:
带有doc_id
键和值字典的字典。你知道吗
该值字典将word_id
作为键,count
作为值。你知道吗
我觉得第一个需要更少的空间(因为它不存储doc_id
),而第二个则更易于处理和访问。我的意思是,访问列表中的I元素是O(n),而在字典中它是常量,我认为。我该选哪一个?你知道吗
你应该用字典。它将使处理代码更容易理解和编程,而且复杂性也更低。你知道吗
使用列表的唯一原因是,如果您关心文档的顺序。你知道吗
如果您不关心项目的顺序,那么您肯定应该使用字典,因为字典用于对相关数据进行分组,而列表通常用于对更通用的项目进行分组。你知道吗
此外,在字典中查找比在列表中查找要快。你知道吗
列表中的查找是O(n),而字典中的查找是O(1)。虽然列表在内存中比列表大得多
实际上,您只需要存储大量的数字,对于这些数字,最节省空间的选择是array。这些是一维的,因此您可以编写一个类,它接受三个索引(最后一个是0表示
word_id
,1表示count
),并执行一些基本的加法和乘法来找到正确的1D索引。你知道吗相关问题 更多 >
编程相关推荐