Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/env python3
- def read_follows():
- file_follows = open("dummy-data-1/follows.txt")
- result = dict()
- for line in file_follows:
- words = line.split()
- result[words[0]] = words[1:]
- file_follows.close()
- return result
- def count_follows(data):
- result = dict()
- for user, followers in data.items():
- result[user] = len(followers)
- return result
- #--------------------------------------------------------------------
- # read file and create dict: data[user] = followers
- users_followers = read_follows()
- # create dict: data[user] = len(followers)
- users_count_followers = count_follows(users_followers)
- #--------------------------------------------------------------------
- # find max followers (number)
- max_follows = max(users_count_followers.values())
- #users_max_follows = list()
- #
- #for name, value in users_count_followers.items():
- # if value == max_follows:
- # users_max_follows.append(name)
- # find users with max followers
- users_max_follows = [name for name, value in users_count_followers.items() if value == max_follows]
- users_max_follows.sort()
- print( '\n'.join(users_max_follows) )
- #--------------------------------------------------------------------
- print('---')
- n = int(input('Enter n: '))
- # get users which has less then `n` followers
- users_filtered = [(value, name) for name, value in users_count_followers.items() if value < n]
- names_sorted = sorted(users_filtered, reverse=True)
- print('--- count, user ---')
- for value, name in names_sorted:
- print(value, name)
- print('--- count, followers ---')
- for value, name in names_sorted:
- print(value, ' '.join(users_followers[name]))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement