为了账号安全,请及时绑定邮箱和手机立即绑定

如何在 Python 中制作元素的倒排列表

如何在 Python 中制作元素的倒排列表

小怪兽爱吃肉 2021-11-02 16:22:03
我有一个包含所有术语和许多子列表的主列表(它们都存储在文件中,我正在从文件中读取它们),文件中的这些列表看起来像我在下面编写它们的方式。我想找到倒排列表,即在不同文档中没有出现元素。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}但是当我这样做时,我得到了错误的价值注意:在上面的代码中,目录列表不起作用,但在原始代码中我正在加载页面docTypetermfrequency = open(directoryName, 'rb')  fileTermFreq = pickle.load(docTypetermfrequency)  for elements in fileTermFreq.items() :      idFCount[elements[0]]=idFCount[elements[0]]+1您可以在此处找到所有代码和输入输出文件。
查看完整描述

1 回答

?
HUX布斯

TA贡献1876条经验 获得超6个赞

你有两个错误:


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 


查看完整回答
反对 回复 2021-11-02
  • 1 回答
  • 0 关注
  • 169 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信