Я бы вел словарь веб-страниц и пользователей, например:
d = {'login' : {'tom':1, 'jerry':0, 'dexter':2, 'deedee':3, 'buttercup':1},
'ask' : {'tom':0, 'jerry':0, 'dexter':3, 'deedee':2, 'buttercup':1},
'profile': {'tom':4, 'jerry':2, 'dexter':2, 'deedee':3, 'buttercup':1},
'search': {'tom':1, 'jerry':0, 'dexter':2, 'deedee':0, 'buttercup':4},
}
, где ключ - это веб-страница, а значение - это словарь пользователей и посещений веб-страниц. Увеличивайте счетчик внутри словаря каждой страницы при посещении пользователем. Тогда проще всего получить наиболее частого посетителя каждой страницы:
from collections import Counter
l = []
for key,dd in d.items():
c = Counter(dd)
l.append({key : c.most_common(1)[0]})
print(l)
Вывод:
[{'login': ('deedee', 3)}, {'ask': ('dexter', 3)}, {'profile': ('tom', 4)}, {'search': ('buttercup', 4)}]
Обновление :
Чтобы создать свой словарь d
сначала вам нужен список страниц и пользователей:
pages = ['login', 'ask', 'profile', 'search']
users = ['tom', 'jerry', 'dexter', 'deedee', 'buttercup']
Затем вы можете создать свой словарь, используя словарь:
d = {page: {user: 0 for user in users} for page in pages}
Есть два для l oop здесь - один для итерации страниц и другой пользователи для каждой страницы. Затем вы получите такую структуру:
{'login': {'tom': 0, 'jerry': 0, 'dexter': 0, 'deedee': 0, 'buttercup': 0},
'ask': {'tom': 0, 'jerry': 0, 'dexter': 0, 'deedee': 0, 'buttercup': 0},
'profile': {'tom': 0, 'jerry': 0, 'dexter': 0, 'deedee': 0, 'buttercup': 0},
'search': {'tom': 0, 'jerry': 0, 'dexter': 0, 'deedee': 0, 'buttercup': 0}}
После этого довольно просто обновить посещение веб-страницы для каждого пользователя:
d['login']['tom'] += 1