如何使Python中元素的倒排列表

问题描述 投票:0回答:1

我把所有的条款和许多孩子列表(所有这些都存储在文件和我从文件中读取他们),这些列表中的文件看起来像我是如何写在下面他们的主列表。我想找到倒排列表,即没有元素出现的不同文件内。

masterList={ 'token1' : 30, 'token2' : 28, 'token3' : 27, 'token4' : 26, 'token5' : 24, 'token6' : 20, 'token7' : 19, 'token8' : 18, 'token9' : 15, 'token10' : 12, 'token11' : 10, 'token12' : 6}  
idFCount={ 'token1' : 0, 'token2' : 0, 'token3' : 0, 'token4' : 0, 'token5' : 0, 'token6' : 0, 'token7' : 0, 'token8' : 0, 'token9' : 0, 'token10' : 0, 'token11' : 0, 'token12' : 0}  
childList1={ 'token1' : 6, 'token2' : 6, 'token3' : 3, 'token6' : 3, 'token7' : 2,  'token11' : 1, 'token12' : 1}  
childList2={ 'token1' : 10, 'token2' : 3, 'token3' : 1, 'token12' : 1}  
childList3={ 'token4' : 8, 'token6' : 7, 'token8' : 7, 'token9' : 3, 'token10' : 2,  'token11' : 2, 'token12' : 1}  
childList4={ 'token1' : 9, 'token5' : 6, 'token6' : 5, 'token8' : 3, 'token7' : 3,  'token9' : 1, 'token12' : 1}  

directoryList=['childList1' , 'childList2', 'childList3', 'childList4']  

for directoryName in directoryList :  

    for elements in directoryName.items() :  
        print (elements)
        idFCount[element[0]]=idFCount[element[0]]+1

从上面的问题,我想等相关的输出:

idFCount={ 'token1' : 3, 'token2' : 2, 'token3' : 2, 'token4' : 1, 'token5' : 1, 'token6' : 3, 'token7' : 2, 'token8' : 2, 'token9' : 2, 'token10' : 1, 'token11' : 2, 'token12' : 4}

但是,当我这样做,我得到错误的值

注:在上面的代码中directoryList没有工作,但在一部开拓创新的一个我的网页加载

docTypetermfrequency = open(directoryName, 'rb')  
fileTermFreq = pickle.load(docTypetermfrequency)  
for elements in fileTermFreq.items() :  
    idFCount[elements[0]]=idFCount[elements[0]]+1

您可以在这里找到所有代码和输入输出文件。

python list dictionary count tf-idf
1个回答
0
投票

你有两个错误:

directoryList={'childList1' , 'childList2', 'childList3', 'childList4'}  # First error

for directoryName in directoryList :  

    for elements in directoryName.items() :  
        print (elements)
        idFCount[element[0]]=idFCount[element[0]]+1 # Second error

你的代码应该是:

directoryList=[childList1 , childList2, childList3, childList4] 

for directoryName in directoryList :
    for elements in directoryName.items() :
        print (elements)
        idFCount[elements[0]]=idFCount[elements[0]]+1 
© www.soinside.com 2019 - 2024. All rights reserved.