0
Scorelife_disct={'scorelife41': ['c', 'hindi', 'sql', 'scala', 'love'],
'scorelife42': ['c', 'sql', 'english', 'Cat', 'html', 'cPlus', 'love'],
'scorelife43': ['c', 'Cat', 'friend', 'love']}
User_life_disct ={'scorelifeLife1': ['c', 'hindi', 'python', 'scala', 'graphics'],
'scorelifeLife10': ['c', 'hindi', 'perl'],
'scorelifeLife11': ['hindi', 'perl', 'spark']}
import collections
d = collections.defaultdict(dict)
from __future__ import division
for userid in Scorelife_disct:
#print userid
for life_disct in User_life_disct:
u1= Scorelife_disct[userid]
u2= User_life_disct[life_disct]
k1=len(set(u1)&set(u2))/len(set(u1)|set(u2))
#print life_disct
#print k1
d[userid][life_disct] = k1
print d
dict(d)
{' scorelife41': {' scorelifeLife1': 0.42857142857142855,
' scorelifeLife10': 0.3333333333333333,
' scorelifeLife11': 0.14285714285714285 }}
我使用與字典的每個列表之間的Jaccard相似兩個Python字典,但我的程序佔用太多的時間,大量的數據。如何減少時間複雜性問題(儘管輸出是正確的),以便它在不花費很多時間的情況下工作?
這是如何使用熊貓? – James