要将字典中的一个键与另一个字典中的其他键进行比较并提取相同的键吗

2024-04-26 23:20:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将Jay Samuel键与我存储在.txt文件中的数据库中的reviewer的其他键进行比较。因此,我创建了一个临时dict,其中包含除作为输入的reviewer之外的所有reviewer,以便我可以比较这两个字典并提取相似的键。但在创建2之后,我无法继续python中的词典

利用欧几里德距离公式计算相似度得分

输出:

Jay Samuel     Tomm Sietsema        1.87      
Jay Samuel     Corby Kumar          1.50     
Jay Samuel   Jonathan Golder        2.87  

文本文件-suchi.txt

Tomm Sietsema,Rooster and Owl,2.5,El Sapo Cuban Social Club,3.5,St. Anselm,3.0,Shibumi,3.5,Mama Chang,2.5,Punjab Grill,3.0       

Jonathan Golder,Rooster and Owl,3.0,El Sapo Cuban Social Club,3.5,St. Anselm,1.5,Shibumi,5.0,Punjab Grill,3.0,Mama Chang,3.5

Brette Anderson,Rooster and Owl,2.5,El Sapo Cuban Social Club,3.0,Shibumi,3.5,Punjab Grill,4.0      

Michael Baumer,El Sapo Cuban Social Club,3.5,St. Anselm,3.0,Punjab Grill,4.5,Shibumi,4.0,Mama Chang,2.5    

Corby Kumar,Rooster and Owl,3.0,El Sapo Cuban Social Club,4.0,St. Anselm,2.0,Shibumi,3.0,Punjab Grill,3.0,Mama Chang,2.0 

Pete Wellsworth,Rooster and Owl,3.0,El Sapo Cuban Social Club,4.0,Punjab Grill,3.0,Shibumi,5.0,Mama Chang,3.5      

Jay Samuel,El Sapo Cuban Social Club,4.5,Mama Chang,1.0,Shibumi,4.0




result={}         
temp={}   
with open("suchi.txt","r") as f:   
    for line in f:   
        content=line.split(",")   
        name=content[0]   
        name_values = {}      
        for i in range(1, len(content), 2):    
           val_name = content[i]      
           val_float = float(content[i + 1])   
           name_values[val_name] = val_float    
           result[name] = name_values //I am creating innerdict       
d=input("enter the key")    
li=result[d]   
print(type(li))    
temp={**result} //creating 2 seperate dict temp-contains info other than the 
                     input from the user
del temp[d]   

Tags: andnamesocialelsamuelclubsapochang