Search in Large data set
I'd give you a code sample if I better understood what your current data structures look like, but this sounds like a job for a pandas dataframe groupby (in case you don't feel like actually using a database as others have suggested).
I have a list of user:friends (50,000) and a list of event attendees (25,000 events and list of attendees for each event). I want to find top k friends with whom the user goes to the event. This needs to be done for each user. 
I tried traversing lists but is computationally very expensive. I am also trying to do it by creating weighted graph.(Python)
Let me know if there is any other approach.