t = Tokenizer(num_words=50000)tokenizer.fit_on_texts(trainText)my_items = list(tokenizer.word_index.items())
我需要按顺序禁用字典中每100个元素的区块,并检查禁用特定区块对网络准确性的影响。如何禁用,比如说,前100个字典元素呢?在我的案例中,my_items的大小是140000。我只需要使用前50000个元素。
回答:
下面是一个函数,给定一个输入的词索引,会返回一个新的词索引,这个新索引与原始词索引相同,但排除了从start_number到end_number的条目。
my_dict={} #创建一个字典,其中值为整数for i in range (10): my_dict[i]=i# 函数返回一个与输入字典相同的字典,但缺少从start_number到end_number的条目def dump_words(word_index, start_number, end_number): temp_dict={} new_dict={} for key, value in word_index.items(): if value<start_number or value>end_number: temp_dict[key]=value # 现在重新编号字典中的值 for key, value in temp_dict.items(): if value<start_number: new_dict[key]=value else: new_dict[key]=value-end_number return new_dictnew_dict=dump_words(my_dict, 1, 5)for key, value in new_dict.items(): print (key,value) # 打印输出显示字典条目0到4被删除