TGViewer
Data Science | Machinelearning [ru] Data Science | Machinelearning [ru] @devsp · 19.8K subscribers
Post #4724 2.67K
👩‍💻 Предсказание уникальности пользователя

У вас есть список действий пользователей на платформе. Каждое действие представлено словарём с полями "user_id", "action", и "timestamp". Нужно реализовать функцию, которая определит, является ли пользователь "уникальным".

Уникальный пользователь — это тот, кто:

• совершал более 3 действий,
• все действия происходили в разные дни,
• не совершал одинаковые действия дважды.


Верните список user_id, соответствующих этому критерию.

Решение задачи🔽

from collections import defaultdict
from datetime import datetime

def find_unique_users(logs):
activity = defaultdict(lambda: {"actions": set(), "days": set(), "count": 0})

for log in logs:
user = log["user_id"]
action = log["action"]
date = datetime.fromisoformat(log["timestamp"]).date()

activity[user]["actions"].add(action)
activity[user]["days"].add(date)
activity[user]["count"] += 1

result = []
for user, data in activity.items():
if (
data["count"] > 3 and
len(data["days"]) == data["count"] and
len(data["actions"]) == data["count"]
):
result.append(user)

return result

# Пример использования
logs = [
{"user_id": 1, "action": "login", "timestamp": "2023-05-01T10:00:00"},
{"user_id": 1, "action": "view", "timestamp": "2023-05-02T11:00:00"},
{"user_id": 1, "action": "click", "timestamp": "2023-05-03T12:00:00"},
{"user_id": 1, "action": "logout", "timestamp": "2023-05-04T13:00:00"},

{"user_id": 2, "action": "login", "timestamp": "2023-05-01T10:00:00"},
{"user_id": 2, "action": "login", "timestamp": "2023-05-01T11:00:00"},
{"user_id": 2, "action": "click", "timestamp": "2023-05-01T12:00:00"},
]

print(find_unique_users(logs)) # Ожидаемый результат: [1]
  • ❤ 3
More from @devsp
  1. Oct 4, 2026Какую LLM брать: пилим свой бенчмарк Обычно выбор модели стартует с рейтингов. Только в эт…
  2. Oct 2, 2026😅 Айтишник отправил в одну компанию три одинаковых резюме и только одно дошло до финала О…
  3. Oct 2, 2026🤣 Правильно расставленные приоритеты в моей жизни би лайк: 💥 xCode Journal
  4. Oct 1, 2026🤯 Люди взбунтовались против «пыточной для ИИ» На GitHub заметили открытый проект AI Tortu…
  5. Sep 30, 2026Две ИИ-фабрики в Армении: что там отгрохали и на кого это в итоге пашет В августе в Раздан…
  6. Sep 30, 2026Из Москвы в Миннеаполис — с тремя решениями для улучшения персонализации в рекомендательны…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →