重複の可能性:
関数の印刷は正しい 出力となし
偽の Twitter フィード プログラムで相互ユーザーを印刷しようとしています。宿題。数字はユーザーです(例1111
はユーザーです)。次のディクショナリ セットは、キーのフレンドのセットです。
この出力が欲しい:
Most friends in common
1111: 222 33333 5454
222: 1111 33333 5454
33333: 1111 222
5454: 1111 222
ただし、代わりに次の出力があります。
Most friends in common
1111 : 222 33333 5454 1111 None
222 : 1111 33333 5454 222 None
33333 : 1111 222 33333 None
5454 : 1111 222 5454 None
これが私のプログラムです:
all_users = {'1111': set(['5454', '222']), '33333': set(['5454']), '5454': set(['1111', '33333', '222']), '222': set(['1111', '5454'])}
def findmutual(id, all_users):
users = []
for key in all_users:
mutual = all_users[id].intersection(all_users[key])
rank = len(mutual)
templist = [rank, key.strip()]
users.append(templist)
users = sorted(users)
print users
for item in users:
if id == item[1]:
print "" ,
if item[0] == 0:
print "",
else:
print item[1],
users = []
for key in all_users:
users.append(key)
users = sorted(users)
print "Most friends in common"
for item in users:
print item, ":\t", findmutual(item, all_users)
この問題を理解するのを手伝ってください!