我有一个名为lemma_all_context_dict
的字典,它有大约8000个键。我需要一份所有可能的钥匙对的清单。你知道吗
我用过:
pairs_of_words_list = list(itertools.combinations(lemma_all_context_dict.keys(), 2))
然而,当使用这一行时,我得到一个MemoryError
。我有8GB的RAM,但可能我还是得到了这个错误,因为我在这段代码中有一些非常大的字典。你知道吗
所以我尝试了另一种方法:
pairs_of_words_list = []
for p_one in range(len(lemma_all_context_dict.keys())):
for p_two in range(p_one+1,len(lemma_all_context_dict.keys())):
pairs_of_words_list.append([lemma_all_context_dict.keys()[p_one],lemma_all_context_dict.keys()[p_two]])
但这段代码运行大约需要20分钟。。。有人知道解决这个问题的更有效的方法吗?谢谢
**我不认为这个问题是重复的,因为我要问的是-我不认为有人问过-如何实现这些东西而不让我的电脑崩溃:-p
你知道吗 不要建立一个列表,因为这是你得到一个内存错误的原因(你甚至创建了两个列表,因为这就是
.keys()
所做的)。您可以迭代iterator
(这就是它们的目的):相关问题 更多 >
编程相关推荐