0
我創建了一個程序,讀取couchDB列出單個twitter用戶的關注者和朋友id。朋友在「friend_edges」組下標識,在「follower_edges」下標識關注者。python:從打印更改爲返回不處理項目正確
我使用set -set1.intersection(set.2)之間的交集操作 - 以獲得那些既是朋友又是追隨者的列表。
當我使用print
來查看輸出時,結果是正確的。但是當我更改爲return
來處理結果時,它只處理朋友,而不是追隨者。
有人可以給我一個線索,說明我做錯了什麼,以及如何改進代碼?....提前致謝。
from twitter_login import oauth_login
from twitter_DB import load_from_DB
from sets import Set
def friends_and_followers(doc):
if 'friend_edges' in doc.keys():
flist = []
for x in doc['friend_edges']:
flist.append(x)
#print "Number of friends: ", len(flist) <-- shows the right number of items
return flist
else:
return []
if 'follower_edges' in doc.keys():
followlist = []
for x in doc['follower_edges']:
followlist.append(x)
#print "Number of followers: ", len(followlist) <-- shows the right number of items
return followlist
else:
return []
flist = Set(flist)
followlist = Set(followlist)
return flist.intersection(followlist)
if __name__ == '__main__':
twitter_api = oauth_login()
DBname = 'users-aguy-+-only'
ff_results = load_from_DB(DBname)
print 'number loaded', len(ff_results)
for doc in ff_results:
together = friends_and_followers(doc)
print "Friends and followers of a guy: ", together