私は、ユーザーのフォロワーを見て、ユーザーがフォローしているユーザー(友人)の後ろにハイライトを表示するアプリケーションの素早い部分を構築しています。Twitterフォロワーの後ろにPython/Djangoの友達がいることを示す
私は二つのことを思ったんだけど:
これを行うには、より効率的な方法はありますか?このように思えば、TwitterのAPIの制限が上がるだろう。ユーザーの友だちごとに友達を確認する必要があるからだ。
これは、友人IDとそれに従うフォロワーを含むディクテーションのリストを作成しています。代わりに、dictはフォロワーIDとそれに従う友人の方が良いでしょう。ヒント?
コード:
import collections
followers_that_friends_follow = collections.defaultdict(list)
for f in friends:
ff = api.GetFriendsIDs(f)['ids']
users = followers_not_friends.intersection(ff)
for user in users:
followers_that_friends_follow[user].append(f)
と辞書になります:あなたの質問の後半部分については
# Get followers and friends
followers = api.GetFollowerIDs()['ids']
friends = api.GetFriendIDs()['ids']
# Create list of followers user is not following
followers_not_friends = set(followers).difference(friends)
# Create list of which of user's followers are followed by which friends
followers_that_friends_follow = []
for f in friends:
ff = api.GetFriendIDs(f)['ids']
users = followers_not_friends.intersection(ff)
followers_that_friends_follow.append({'friend': f, 'users': users })