-2

假设我在字典中有一本字典,如下所示:

Allusers={
User1: {'Film1': Vote1, 'Film2': Vote2}
User2: {'Film1': Vote1, 'Film2'; Vote2}
...

}

我需要逻辑/算法/公式来将每个人与其他人进行一次比较。我需要如何解决这个问题?谢谢你。

4

2 回答 2

2
from itertools import combinations

Allusers={
    'User1': {'Film1': 'Vote1', 'Film2': 'Vote2'},
    'User2': {'Film1': 'Vote1', 'Film2': 'Vote2'}
}

for comb in combinations(Allusers, 2):
    if Allusers[comb[0]] == Allusers[comb[1]]:
        print '{0} is same with {1}'.format(comb[0], comb[1])
于 2012-08-27T08:17:50.967 回答
0

就像是 :

users={
User1: {'Film1': Vote1, 'Film2': Vote2}
User2: {'Film1': Vote1, 'Film2'; Vote2}
User3: {'Film1': Vote1, 'Film2'; Vote2}
User4: {'Film1': Vote1, 'Film2'; Vote2}
}
keys=list(users)
for i,x in enumerate(keys):
    for y in keys[i+1:]:
        #compare users[x] and users[y] here

在第一个循环User1中将与用户进行比较,2,3,4在下一个循环User2中将与用户 3,4 进行比较,因为他已经User1在第一个循环中进行了比较。

于 2012-08-27T08:17:58.503 回答