Section #6 Solutions


Written by Juliette Woodrow, Anna Mistele, John Dalloul, Jonathan Kula, and Elyse Cornwall

Big Tweet Data

                

def add_tweet(users, tweet):
    user = parse_user(tweet)
    tag = parse_tag(tweet)

    if user not in users:
        users[user] = {}        # initialize inner dict value

    tag_counts = users[user]
    if tag not in tag_counts:
        tag_counts[tag] = 0     # initialize count value
    tag_counts[tag] += 1

    return users


def parse_tweets(filename):
    users = {}
    with open(filename) as f:
        for line in f:
            add_tweet(users, line)

    return users

                
            

Extension

                
def flat_counts(users):
    counts = {}
    for user in users.keys():
        tags = users[user]

        for tag in tags:
            if tag not in counts:
                counts[tag] = 0
            counts[tag] += tags[tag]

    return counts