Подтвердить что ты не робот

Как случайным образом выбирать несколько ключей и их значение в словаре python

У меня есть такой словарь:

user_dict = {
            user1: [(video1, 10),(video2,20),(video3,1)]
            user2: [(video1, 4),(video2,8),(video6,45)]
            ...
            user100: [(video1, 46),(video2,34),(video6,4)]                 
            } 

(video1,10) means (videoid, number of request)

Теперь я хочу случайным образом выбрать 10 пользователей и сделать некоторые вычисления, например

 1. calculate number of videoid for each user. 
 2. sum up the number of requests for these 10 random users, etc

то мне нужно увеличить случайное число до 20, 30, 40 соответственно

Но "random.choice" может выбирать только одно значение за раз, правильно? как выбрать несколько ключей и список, следующий за каждой клавишей?

4b9b3361

Ответ 1

Что то, что random.sample() для:

Возвращает список длины k уникальных элементов, выбранных из последовательности популяций. Используется для случайной выборки без замены.

Это можно использовать для выбора ключей. Значения могут быть впоследствии получены обычным поиском по словарю:

>>> d = dict.fromkeys(range(100))
>>> keys = random.sample(list(d), 10)
>>> keys
[52, 3, 10, 92, 86, 42, 99, 73, 56, 23]
>>> values = [d[k] for k in keys]

В качестве альтернативы вы можете напрямую пробовать из d.items().

Ответ 2

Просто

import random
>>> mydict = {"a":"its a", "b":"its b"}
>>> random.sample(mydict,1)
its a