Как получить уникальные элементы списка, и создать подобную вложеность

Есть список с логами.

stream = [
    '2019-01-01,login1,3',
    '2019-01-07,login1,4',
    '2019-03-29,login1,1',
    '2019-04-04,login1,13',
    '2019-01-05,login2,7',
    '2019-06-14,login3,4',
    '2019-07-02,login3,10',
    '2019-03-21,login4,19',
    '2019-03-22,login4,4',
    '2019-04-22,login4,8',
    '2019-05-03,login4,9',
    '2019-05-11,login4,11',
]

Задача на выходе получить такую структуру, с уникальным логином и со списком всех просмотров.

user = [
 ['login1', [3, 4, 1, 13]],
 ['login2', [7]],
 ['login3', [4, 10]],
 ['login4', [19, 4, 8, 9,11]]
]

Я застрял на этом этапе.


logs = []
for i in stream:
    logs.append(i.split(","))

users = []
for i in logs:
    data, user, view = i
    if user not in users:
        users.append(user)

Ответы (1 шт):

Автор решения: Sergey

Как-то так:

stream = [
    '2019-01-01,login1,3',
    '2019-01-07,login1,4',
    '2019-03-29,login1,1',
    '2019-04-04,login1,13',
    '2019-01-05,login2,7',
    '2019-06-14,login3,4',
    '2019-07-02,login3,10',
    '2019-03-21,login4,19',
    '2019-03-22,login4,4',
    '2019-04-22,login4,8',
    '2019-05-03,login4,9',
    '2019-05-11,login4,11',
]
result = {}
for i in stream:
    data, user, view = i.split(",")
    wrk = result.setdefault(user, [])
    wrk.append(view)
    result[user] = wrk

print(result)
→ Ссылка